YaSTのX11フォワーディングをSSH経由で動作させる方法

YaST がXIO: fatal IO error 11 (Resource temporarily unavailable)SSH 経由で終了する場合は、まず SUSE のドキュメントに記載されている Qt の回避策を試してくださいQT_XCB_GL_INTEGRATION=none yast.ssh。 。インストール済みの SLES システムと特定の YaST モジュールの場合は、そのモジュールの前に同じ変数を使用します (例: ) QT_XCB_GL_INTEGRATION=none yast2 disk。 。グラフィカル アプリケーションが開けない場合は、まず X11 転送を修復します。 で接続しssh -X、リモート シェルにDISPLAY値があることを確認し、サーバーで X11 転送が有効になっていることを確認します。

SUSEのSLES 15 SP7導入ガイドには、このXIOエラーの詳細と、Qtによる回避策およびncursesによる代替策が記載されています。この記述はリモートインストールに関するものなので、YaST over SSHの動作に関する修正策として活用してください。ただし、YaSTの起動失敗の原因がすべて同じであるとは限りません。以下のチェック項目は、ローカルXサーバーの欠落、SSH転送の無効化、またはX認証の問題といった問題と、このケースを区別するためのものです。

1. YaSTのトラブルシューティングを行う前に、X11転送が正常に機能することを確認してください。

X11フォワーディングは、リモートアプリケーションのウィンドウトラフィックをSSH経由でローカルコンピュータ上のXサーバーに送信します。そのため、ローカルマシンには実行中のXサーバーが必要であり、SSHクライアントはフォワーディングを要求する必要があります。X11デスクトップで、新しいターミナルを開き、次のように接続します。

ssh -X admin@server.example.com

アカウントとホストを自分のものに置き換えてください。ログイン後、以下を実行してください。

echo "$DISPLAY"

のような値は、localhost:10.0SSH が転送ディスプレイを設定したことを示します。これは例であり、固定値ではありません。ディスプレイ番号は異なる場合があります。出力が空白の場合は、ログアウトして で再接続してください-X。それでも空白のままの場合は、次のセクションでクライアント側の SSH 設定とサーバー構成を確認してください。 をDISPLAY推測値に手動で設定しないでください。SSH はセッション用にプロキシディスプレイを作成します。

SSHターミナルはssh -Xで接続し、DISPLAYがlocalhost:10.0であることを確認します。
ターミナルの例: -X オプションを指定して SSH 接続を行った後、リモート シェルに転送された DISPLAY 値があります。

WindowsでPuTTYを使用する場合は、セッションの「接続」>「SSH」>「X11」設定でX11転送を有効にし、ローカルのXサーバーが実行されていることを確認してください。SUSEの導入ガイドにもこの要件が記載されています。ローカルマシンにXサーバーがない場合、SSHログインが成功してもリモートホストはウィンドウを表示できません。

2. SLES SSHサーバーとX認証を確認する

SLESホスト上で、管理者はSSHデーモンの設定を検査できます。

sudo grep -i '^X11Forwarding' /etc/ssh/sshd_config
command -v xauth

有効なサーバー ポリシーでは X11 転送が許可されている必要があり、xauth認証ハンドオフに使用できる必要があります。SUSE のドキュメントでは、これをサーバー側の設定として説明し、クライアントが接続するとX11Forwarding YesSSH がリモートを設定することを指摘しています。単純な設定では、含まれる構成ファイルや条件ブロックの設定が欠落する可能性があります。出力が動作と矛盾しているように見える場合は、重複する行を追加するのではなく、SSH 管理者に有効な構成を調べてもらうようにしてください。DISPLAY-XgrepMatch

端末は、X11Forwardingが有効になっていること、およびxauthコマンドがインストールされていることを確認します。
ターミナルの例:sshdのX11Forwarding設定を確認し、SLESホスト上でxauthユーティリティが利用可能であることを確認してください。

変更を加えた場合はsshd_config、デーモンを再起動する前にファイルを検証してください。

sudo sshd -t
sudo systemctl reload sshd

これらは管理者権限でのみ実行してください。新しいSSHセッションをテストしている間は、既存のSSHセッションを開いたままにしておいてください。そうしないと、設定ミスでロックアウトされてしまいます。その後、切断して再接続してください。転送設定はSSHセッションの開始時にネゴシエートされます。サーバーでTCPポート6000を開いたり、xhost +ショートカットとして使用したりしないでください。SSH転送はXトラフィックをトンネル化し、その認証を管理するように設計されています。Xに直接アクセスすると、ディスプレイが他のマシンに公開される可能性があります。

3. YaST固有のQt回避策を適用する

が設定されていて、別の転送された X アプリケーションが開くものの、YaST が上記の XIO エラーで失敗する場合はDISPLAY、その起動に対してドキュメントに記載されている環境オーバーライドを試してください。

QT_XCB_GL_INTEGRATION=none yast.ssh

通常インストール済みのシステムでは、インストールヘルパーが存在すると想定するのではなく、必要なモジュールを起動してください。例えば、SUSE ではこのモジュール形式について以下のように説明しています。

QT_XCB_GL_INTEGRATION=none yast2 disk
YaST SSHインターフェースは、QT_XCB_GL_INTEGRATIONがnoneに設定された状態で起動されます。
ターミナルの例:SUSEがSSH経由のYaST向けに文書化したQt XCB統合の回避策。

この変数は、それに続くコマンドにのみ適用され、Qt の設定や SSH ポリシーを永続的に変更するものではありません。正確なyast.sshコマンドは SUSE がインストール システムで使用しており、インストール済みの SLES ホストでは、通常、YaST モジュールを で起動しますyast2。別のモジュールが失敗している場合は、 の代わりにドキュメントに記載されているモジュール名を使用してください。この環境設定を、空白のや X サーバーのないクライアントのdisk修正として扱わないでください。DISPLAY

4. ウィンドウが必要ない場合は、YaSTのテキストインターフェースを使用する

管理作業のみが必要で、グラフィカルウィンドウが不要な場合は、SSHターミナルでYaSTのncursesインターフェースを使用してください。ディスクモジュールについては、SUSEのドキュメントを参照してください。

yast2 disk --ncurses

モジュールに対してncursesバックエンドを明示的に要求することもできます。

YUI_PREFERRED_BACKEND=ncurses yast2 disk
2つのターミナルコマンドで、ncursesインターフェースを使用してYaSTディスク管理を起動します。
ターミナルでの例:転送されたGUIが不要な場合は、ncursesバックエンドを使用してYaSTディスクモジュールを起動します。

テキストインターフェースはX11転送を完全に回避するため、リモートサーバーにとって最もシンプルな選択肢となることが多い。ただし、YaSTであるため、システム構成が変更される。ディスク、パーティション、ファイアウォール、ネットワークの変更を確定する前に、慎重に確認する必要がある。SUSEによると、SLESインストールシステムの場合、ローカルXサーバーが利用できない場合は、YaSTがncursesインターフェースを提供するとのことだ。

修正を確認してください

で新しい SSH セッションを開きssh -X、echo "$DISPLAY"が空でないことを確認してから、適切なコマンドを使用して YaST を起動します。成功すると、ローカル デスクトップに YaST ウィンドウが表示されるか、バックエンドとして ncurses を選択した場合はターミナルで ncurses モジュールが開きます。転送は正常ですが、Qt のオーバーライド後も正確な XIO エラーが残る場合は、ターミナル エラー全体をキャプチャし、SLES リリース ノートまたは SUSE サポート ナレッジベースでリリース固有の問題を確認してください。この手順では、エラー フラグメントだけでは無関係な Qt または YaST の欠陥を特定することはできません。

公式資料

コメントを残す

SLES Btrfsが読み取り専用になった場合:再マウントする前に診断を行う

SLES Btrfsが読み取り専用になった場合:再マウントする前に診断を行う

Btrfsが意図的に読み取り専用になっているのか、容量不足なのか、エラー発生後のデータ保護のために動作しているのかを特定し、その原因に合った復旧方法を選択してください。

オフラインネットワークでSUSE Managerを使用してSLES 15を登録する

オフラインネットワークでSUSE Managerを使用してSLES 15を登録する

ミラーリングされたチャネルを準備し、アクティベーションキーを作成し、マネージャーのチェックインに必要な接続を維持しながら、インターネットに直接アクセスできないSLES 15クライアントをブートストラップします。

YaSTのX11フォワーディングをSSH経由で動作させる方法

YaSTのX11フォワーディングをSSH経由で動作させる方法

YaSTのSSH経由のXIO起動エラーを修正し、X11転送とxauthを検証し、リモートウィンドウが不要な場合はncursesインターフェースに切り替えます。

Snapperを使用して、失敗したSLESアップデートを安全にロールバックする

Snapperを使用して、失敗したSLESアップデートを安全にロールバックする

アップデート前のBtrfsスナップショットを見つけて、読み取り専用でテストし、どのデータがルートロールバックの対象外になるかを理解した上で、Snapperを使用して永続的なリカバリを実行します。

rsyslogと相互TLSを使用したSLES Syslogの安全な転送

rsyslogと相互TLSを使用したSLES Syslogの安全な転送

SLESシステムのログを、認証済みTLS経由でリモートのrsyslogコレクターに送信します。この際、証明書のチェック、障害発生時のバッファリング、および配信テストが行​​われます。

再試行前にSLESアップグレードのメモリエラーを追跡する

再試行前にSLESアップグレードのメモリエラーを追跡する

RAM、スワップ、カーネル、およびZypperのログを使用して、実際のメモリ負荷を特定し、パッケージの状態を保護し、より安全なSLESアップグレードの再試行を選択します。

ヘッドレスサーバーでDebian 12のセキュリティアップデートを継続的に実行する

ヘッドレスサーバーでDebian 12のセキュリティアップデートを継続的に実行する

DebianのSSH経由の自動セキュリティアップデートを有効にし、デフォルトのパッケージソースを維持し、systemdとAPTのログを通じてスケジュールされた実行を確認します。

smartdを使用してUbuntuのSMARTディスク警告をメールで受け取る

smartdを使用してUbuntuのSMARTディスク警告をメールで受け取る

メール配信オプションを比較し、Ubuntu上でsmartdを設定し、ディスクの状態に関する警告が受信トレイに届くことを確認します。

Debian 12 DNSルックアップの失敗: systemd-resolvedの修復

Debian 12 DNSルックアップの失敗: systemd-resolvedの修復

Debian 12 で DNS ルックアップを復元するには、systemd-resolved をチェックし、必要に応じて resolv.conf を修復し、アップストリームの DNS およびアプリケーション解決を検証します。

Ubuntu 24.04でHDMIオーディオが表示されない?出力を復元する

Ubuntu 24.04でHDMIオーディオが表示されない?出力を復元する

Ubuntuでモニターまたはテレビを音声出力として認識させ、サウンド設定でそれを選択し、HDMIが表示されない場合は接続またはPipeWireデバイスリストを確認してください。