Як я не можу запобігти 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.