私はkubuntuを実行している2台のコンピュータ(サーバーとクライアント)を持っています。クライアントユーザーとして実行される特定のコマンドを心配することなく、クライアントからサーバーに接続し、グラフィカルインターフェース全体を実行したいと思います。
だからssh -XC
うまく動作し、グラフィックプログラムも起動することができます。
ただし、startkde
SSHコンソールに入力すると、次のように表示されます。「KDEがこのモニターで実行されているようです。」これは正確ですが、同じユーザーアカウントでは機能しません。
グラフィカルインターフェイスを終了してttyからログインしようとしましたが、期待どおりにkdeを含むどのグラフィックプログラムも起動できませんでした。
それでは、単にローカルユーザーのようにログインできるようにするにはどうすればよいですか?クライアントシステムを愚かな端末として使用します。
答え1
XDMCPそのために設計されています。サーバーのデスクトップマネージャでXDMCPサポートを有効にする必要があります。
を使用している場合は、
kdm
次を見つけます。[Xdmcp] Enable=false
最後にに
kdmrc
変更して再起動します。false
true
kdm
を使用している場合は
lightdm
追加してください。[XDMCPServer] enabled=true port=177
/etc/lightdm/lightdm.conf
再起動してくださいlightdm
。
次に、クライアントで次のようにXを起動します。
X -query ${SERVER_IP}
(適切なIPアドレスを使用)サーバーのログイン画面をクライアントに表示する必要があります。
答え2
SSHセッションを介してウィンドウマネージャを起動できますが、Xサーバーにすでに実行されているウィンドウマネージャがないことを確認する必要があります。
これは2つの方法で行うことができます。
startx
ディスプレイマネージャを使用する代わりに、すべての操作を手動で実行してください。まず、Xサーバーを起動します。
X -nolisten tcp :0
次に、別の仮想コンソールに切り替えて(たとえば、ctrl + alt + f2を押す)、次のように入力します。
DISPLAY=:0 ssh -XC <host> startkde
次に、最初の仮想コンソールに戻り、Xセッションを正常に使用します。このアプローチの欠点は、
xauth
設定が含まれていないことです(したがって、理論的にはリモートシステムの誰もがXセッションに接続できるため、セキュリティ上のリスクがあります)。.xinitrc
(startxの場合)または(ディスプレイマネージャの場合)ファイルを使用してウィンドウ.xsession
マネージャを変更します。.xinitrc
パスワードなしのSSHが動作するようにシステムを設定した場合(たとえば、SSHキーを介してKerberosまたは他の認証メカニズムを使用して)、ORファイルの最後の行として次の行を追加できます.xsession
。exec ssh -XC <host> startkde
覚えておくべきことは、このファイルに追加するすべてが実行されることです。変える一般的なX11セッション設定。場合によっては、ログイン画面で「Standard Xsession」オプションを選択する必要があります。
パスワードのないSSHがなくても、
ssh-askpass
SSHがインストールされている限り、引き続き機能できます。よかったら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などを使用して接続する必要があります。