X11経由でフルグラフィックデスクトップを使用してリモートでログインする方法

X11経由でフルグラフィックデスクトップを使用してリモートでログインする方法

私はkubuntuを実行している2台のコンピュータ(サーバーとクライアント)を持っています。クライアントユーザーとして実行される特定のコマンドを心配することなく、クライアントからサーバーに接続し、グラフィカルインターフェース全体を実行したいと思います。

だからssh -XCうまく動作し、グラフィックプログラムも起動することができます。

ただし、startkdeSSHコンソールに入力すると、次のように表示されます。「KDEがこのモニターで実行されているようです。」これは正確ですが、同じユーザーアカウントでは機能しません。

グラフィカルインターフェイスを終了してttyからログインしようとしましたが、期待どおりにkdeを含むどのグラフィックプログラムも起動できませんでした。

それでは、単にローカルユーザーのようにログインできるようにするにはどうすればよいですか?クライアントシステムを愚かな端末として使用します。

答え1

XDMCPそのために設計されています。サーバーのデスクトップマネージャでXDMCPサポートを有効にする必要があります。

  • を使用している場合は、kdm次を見つけます。

    [Xdmcp]
    Enable=false
    

    最後ににkdmrc変更して再起動します。falsetruekdm

  • を使用している場合はlightdm追加してください。

    [XDMCPServer]
    enabled=true
    port=177
    

    /etc/lightdm/lightdm.conf再起動してくださいlightdm

次に、クライアントで次のようにXを起動します。

X -query ${SERVER_IP}

(適切なIPアドレスを使用)サーバーのログイン画面をクライアントに表示する必要があります。

答え2

SSHセッションを介してウィンドウマネージャを起動できますが、Xサーバーにすでに実行されているウィンドウマネージャがないことを確認する必要があります。

これは2つの方法で行うことができます。

  1. startxディスプレイマネージャを使用する代わりに、すべての操作を手動で実行してください。

    まず、Xサーバーを起動します。

    X -nolisten tcp :0
    

    次に、別の仮想コンソールに切り替えて(たとえば、ctrl + alt + f2を押す)、次のように入力します。

    DISPLAY=:0 ssh -XC <host> startkde
    

    次に、最初の仮想コンソールに戻り、Xセッションを正常に使用します。このアプローチの欠点は、xauth設定が含まれていないことです(したがって、理論的にはリモートシステムの誰もがXセッションに接続できるため、セキュリティ上のリスクがあります)。

  2. .xinitrc(startxの場合)または(ディスプレイマネージャの場合)ファイルを使用してウィンドウ.xsessionマネージャを変更します。

    .xinitrcパスワードなしのSSHが動作するようにシステムを設定した場合(たとえば、SSHキーを介してKerberosまたは他の認証メカニズムを使用して)、ORファイルの最後の行として次の行を追加できます.xsession

    exec ssh -XC <host> startkde
    

    覚えておくべきことは、このファイルに追加するすべてが実行されることです。変える一般的なX11セッション設定。場合によっては、ログイン画面で「Standard Xsession」オプションを選択する必要があります。

    パスワードのないSSHがなくても、ssh-askpassSSHがインストールされている限り、引き続き機能できます。よかったらssh端末を制御しないけどする$DISPLAYパスワードの要求に使用する変数が設定されます。

    この方法の欠点は、「ローカル」コンピュータにログインするのがより困難になることです。

答え3

VNCサーバーを開くことができます

設定>共有>画面共有

SSHを使用する必要がある場合は、SSHエージェントを介して5900をコンピュータに転送してください。

ssh -L 5900:localhost:5900 #destination here

次に、Reminaなどのリモートデスクトップ(RD)クライアントを使用してローカルSSHエージェントに接続します。

接続>127.0.0.1:5900

VNCを使用する前に、必ずセキュリティ障害がないか確認してください。 SSH経由でトンネリングする場合は、VNCを使用することは非常に安全です。この方法は、ユーザーがログインしている場合にのみ機能します。ユーザーがログインせずに機能するには、SSHでログインしてVNCサーバーを起動し、IE 0、1、2を使用するようにディスプレイを指定し、Reminaなどを使用して接続する必要があります。

関連情報