KDEの下で仕事をしているワークステーションでopenSUSE11.3を実行していますが、ルートアクセス権がありません。デフォルトのシェルはtcsh
に設定されています。ワークステーションにログインし、OS X10.6を実行しているMacBookからssh
を使用してリモートでログインすると、次のようになります。
ssh -X -C [email protected]
すべてが正常に機能します。ただし、作業が完了すると、GUIを使用して何かを起動しようとすると、ワークステーションセッションでDBUSエラーが発生します。これには、残念ながら、タスクバーパネルからのログアウトダイアログボックスが含まれます。このような状況でログアウトするためだけにstartkde
を殺すのにうんざりしています。
オンラインで、sshを使用して既存のdbusセッションに接続するための多くの手順を見つけましたが、逆に、既存のdbusセッションをsshリモートログインセッションの影響を受けないようにします。
私が行った場合
ssh -X -C [email protected] dbus-launch konsole
それは機能するので、dbusを壊しているのはインタラクティブログインシェルだけです。 ~/.cshrc
をどのように変更すればよいですか? /etc/cshrc
、/etc/login
などを変更する権限がないことに注意してください。
必要に応じて、これらのファイルの内容をここに一覧表示できます。
更新:
これが私が見つけたすべてのスクリプトを含む大きなtarファイルです:
実際、dbusセッションはマシンごとおよびXディスプレイごとです。
リモートSSHセッションを実行するときは、別のX11ディスプレイ(通常はlocalhost:10)を使用します。
すべてのdbusを強制終了し、SSHセッションで起動すると、SSHセッションで機能します。しかし、明らかにそれはマシン内の他のすべてのdbusセッションを壊します。
必要なのは、machine + displayのセッションがすでに存在するかどうかを確認し、存在する場合はそれを使用し、存在しない場合はその組み合わせの新しいdbusを起動して、セッションに通知することです。
https://unix.stackexchange.com/a/188877/32769 を見てください。$ HOME/.bash_profileファイルに配置してこれらのテストを実行し、正しいことを適切に実行できるbashブロックを確認してください。