Як я не можу запобігти ssh віддаленому входу від порушення dbus?


10

Я запускаю openSUSE 11.3 на своїй робочій станції на роботі під KDE, у мене немає кореневого доступу до неї. Оболонка за замовчуванням встановлена ​​на tcsh. Коли я входжу на свою робочу станцію та входжу віддалено із свого MacBook під керуванням OS X 10.6, використовуючи ssh, наприклад:

ssh -X -C user@workstation.edu

все працює добре; однак, як тільки я закінчу, я отримую помилки DBUS на своєму робочому сеансі кожного разу, коли намагаюся запустити що-небудь із графічним інтерфейсом, включаючи, на жаль, діалогове вікно виходу з панелі завдань. Мені набридло вбивати startkdeлише для виходу в ці ситуації.

В Інтернеті я знайшов багато інструкцій щодо підключення до існуючого сеансу dbus за допомогою ssh, але я хотів би зробити те, що навпаки, залишити існуючий сеанс dbus повністю недоторканим сеансом віддаленого входу в ssh.

Якщо я це роблю

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який порушує локальний сеанс? Або просто інтерактивний логін для ssh, де ви натискаєте exitнегайно?).
Жил "ТАК - перестань бути злим"

@Gilles Хм, я спробував відредагувати своє питання із вмістом файлів, але символів занадто багато. Я дізнаюся, як і де я можу їх завантажити. Тим часом, dbus-start konsole не порушує локальний сеанс, тоді як інтерактивний вхід ssh з командного рядка з подальшим негайним завершенням буде вихід. Насправді навіть виконання rsync також розбиває dbus (мені здається дивним, що rsync за замовчуванням запускає сценарії оболонки входу, але це робить).
user1079118

Спробуйте pastebin.com для великих файлів.
Жил 'ТАК - перестань бути злим'

Відповіді:


1

Насправді сеанс dbus проводиться на машині та на X екрані.

Коли ви робите віддалений сеанс SSH, ви використовуєте інший дисплей X11 (зазвичай localhost: 10)

Якщо ви вб'єте весь dbus і запустите його на сесії SSH, він працює ... для сеансу SSH. Але очевидно, це розбиває всі інші dbus сесії в машині.

Потрібно перевірити, чи вже існує сеанс для машини + дисплей, якщо так, скористайтеся ним, якщо не запустіть новий dbus для цієї комбінації, і повідомте про це сеансу.

Подивіться на https://unix.stackexchange.com/a/188877/32769, щоб отримати баш-блок, який ви можете помістити у файл $ HOME / .bash_profile, щоб зробити ці тести і правильно виконати потрібні дії.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.