如何防止ssh远程登录破坏dbus?


10

我在KDE下工作的工作站上正在运行openSUSE 11.3,但是我没有root访问权限。默认外壳程序已设置为tcsh。当我登录到工作站并使用时从运行OS X 10.6的MacBook远程登录时ssh,如下所示:

ssh -X -C user@workstation.edu

一切正常;但是,一旦完成,每当尝试使用GUI启动任何内容时,都会在工作站会话中收到DBUS错误,不幸的是,包括任务栏面板中的注销对话框。startkde在这些情况下,我已经厌倦了仅出于注销目的而被杀。

在线我找到了很多有关使用ssh连接到现有dbus会话的说明,但是我想做相反的事情,让ssh远程登录会话完全不影响现有dbus会话。

如果我做

ssh -X -C user@workstation.edu dbus-launch konsole

可以,所以只有交互式登录外壳破坏了dbus。我应该如何修改~/.cshrc?请记住,我没有权限修改/etc/cshrc/etc/login等等。

如果需要,我可以在此处列出这些文件的内容。

更新:

这是一个大的tar文件,其中包含我可以找到的所有脚本:

http://dl.dropbox.com/u/17203983/cshrc.tgz


是的,请发布与众不同的初始化文件的内容。另外,请准确描述哪些命令会中断本地会话(运行dbus-launch konsole该命令是否会中断本地会话?还是仅在您按下时exit立即进行交互式ssh登录?)。
吉尔(Gilles)“所以,别再邪恶了”,

@Gilles Hmm,我尝试使用文件内容来编辑我的问题,但是字符太多。我将了解如何以及在何处上传它们。在此期间,DBUS推出的konsole并没有打破本地会话,而在命令行的交互式ssh登录紧接着退出的意愿。实际上,即使只是执行rsync也会破坏dbus(对我而言,rsync默认运行登录shell脚本似乎很奇怪,但确实如此)。
user1079118 2011年

Answers:


1

实际上,dbus会话是每台机器和每个X显示器。

进行远程SSH会话时,您使用不同的X11显示(通常为localhost:10)

如果您杀死所有dbus并在SSH会话上启动它,则它适用于SSH会话。但是显然,它破坏了计算机中的所有其他dbus会话。

需要的是检查机器+显示器的会话是否已经存在,如果可以,请使用它,如果不启动该组合的新dbus,并让该会话知道。

查看https://unix.stackexchange.com/a/188877/32769 中的bash块,您可以将其放入$ HOME / .bash_profile文件中以进行这些测试并正确地执行正确的操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.