Я пытаюсь запустить сеанс удаленного гнома, используя: ssh -X username@192.168.1.107 gnome-session
И клиент, и сервер являются Ubuntu версии 12.04
Я получаю следующее (и не так много происходит) .. .
GNOME_KEYRING_CONTROL=/tmp/keyring-3aeNAh
GPG_AGENT_INFO=/tmp/keyring-3aeNAh/gpg:0:1
GNOME_KEYRING_PID=3573
GNOME_KEYRING_CONTROL=/tmp/keyring-3aeNAh
GPG_AGENT_INFO=/tmp/keyring-3aeNAh/gpg:0:1
GNOME_KEYRING_CONTROL=/tmp/keyring-3aeNAh
GPG_AGENT_INFO=/tmp/keyring-3aeNAh/gpg:0:1
SSH_AUTH_SOCK=/tmp/keyring-3aeNAh/ssh
GNOME_KEYRING_CONTROL=/tmp/keyring-3aeNAh
GPG_AGENT_INFO=/tmp/keyring-3aeNAh/gpg:0:1
SSH_AUTH_SOCK=/tmp/keyring-3aeNAh/ssh
(gnome-settings-daemon:3572): color-plugin-WARNING **: failed to get contents of /sys/class/dmi/id/board_version: Failed to open file '/sys/class/dmi/id/board_version': No such file or directory
** (gnome-settings-daemon:3572): WARNING **: You can only run one xsettings manager at a time; exiting
** (gnome-settings-daemon:3572): WARNING **: Unable to start xsettings manager: Could not initialize xsettings manager.
compiz (core) - Error: Screen 0 on display "localhost:10.0" already has a window manager; try using the --replace option to replace the current window manager.
Initializing nautilus-gdu extension
Created new window in existing browser session.
** Message: applet now removed from the notification area
** Message: using fallback from indicator to GtkStatusIcon
(gnome-settings-daemon:3572): keyboard-plugin-WARNING **: Failed to set the keyboard layouts: GDBus.Error:org.freedesktop.Accounts.Error.PermissionDenied: Not authorized
** (gnome-settings-daemon:3572): WARNING **: Failed to connect context: Connection refused
(gnome-settings-daemon:3572): clipboard-plugin-WARNING **: Clipboard manager is already running.
(gnome-settings-daemon:3572): color-plugin-WARNING **: failed to create device: GDBus.Error:org.freedesktop.ColorManager.Failed: failed to obtain org.freedesktop.color-manager.create-device auth
(gnome-settings-daemon:3572): color-plugin-WARNING **: GDBus.Error:org.freedesktop.ColorManager.Failed: failed to obtain org.freedesktop.color-manager.create-profile auth
(gnome-settings-daemon:3572): color-plugin-WARNING **: no xrandr-Samsung Electric Company-SAMSUNG device found: Failed to find output xrandr-Samsung Electric Company-SAMSUNG
Shutting down nautilus-gdu extension
** (gnome-settings-daemon:3572): WARNING **: Failed to connect context: Connection refused
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
Я предполагаю, что то, что Вы пытаетесь сделать, является запуском полная удаленная сессия Gnome, отображающаяся на Вашей локальной машине. Это перестало работать, потому что у Вас уже есть локальный менеджер сеансов, управляющий Вашим дисплеем X-сервера.
Ваши опции:
Просто запускают отдельные удаленные приложения с помощью ssh -X user@192.168.1.107 xclock
Предположение, что XDMCP включен на удаленной машине...
2a. Используйте Xnest -query 192.168.1.107 -geometry 1024x768 :1
для запуска сессии удаленного входа в систему в локальном окне.
2b. Используйте Xephyr :1 -screen 1024x768 -query 192.168.1.107
, который является лучшим X-сервером, чем Xnest
Также принятие XDMCP на удаленной машине, настройте свою локальную машину для использования селектора XDMCP вместо типичной зазывалы на запуске.
Включение XDMCP является просто случаем помещения
[xdmcp]
Enable=true
в /etc/gdm/custom.conf
и перезапуск gdm
или перезагрузка (предполагающий, что Вы работаете gdm
).
, Если Вы только намереваетесь запустить несколько приложений удаленно, затем опция 1 является самой простой и продолжает использовать зашифрованный трафик SSH, который ни один из других не делает (таким образом, они лучше всего только используются в доверяемой локальной сети).
, Если Вам нужно к так чему-то более сложному, затем 2b (Xephyr), может быть лучше, но я обычно находил просто использование ssh -X ... &
, чтобы соответствовали несколько удаленных приложений.
, Если Вы делаете, все удаленно, т.е. локальная машина является просто сервером дисплея и ничего не делает самого, затем необходимо изучить использование опции 3, запустив селектора XDMCP вместо стандартного входа в систему.
<час> пз: Как отмечено в комментариях, и Xnest
и Xephyr
приложения, которые обрабатывают протокол X-сервера и помещают всю сессию в окно. Xnest
использование функции, обеспеченные локальным X-сервером, в то время как Xephyr
дескрипторы намного больше самого протокола сервера также - более устойчиво. Они не могут быть установлены по умолчанию, потому что средний пользователь не использовал бы их.
PPS: После того, как немного думало, что очевидно, как зашифровать Xephyr
или Xnest
сессия...
ssh -X username@192.168.1.107 Xephyr :1 -query localhost -screen 1280x1024
В случае, если Вы когда-либо хотите учиться использовать стандарт ssh от терминала, я думал, что дам Вам быстрое краткое изложение, так как Вы испытали затруднения с помощью ssh ключи, это кажется. Преимущество состоит в том, что это более универсально, и очень гибко.
Для использования ssh ключей, который более безопасен, иногда требуемый и более удобен, так как только необходимо ввести ключ однажды, необходимо сделать это однажды для любого удаленного ssh сервера:
генерируют ключ (может использовать dsa вместо rsa, при необходимости)
ssh-keygen -t rsa
передают ключ к удаленному хосту
ssh-copy-id <username>@<host>
, если не стандартный порт 22, используйте это: Отметьте кавычки вокруг аргумента
ssh-copy-id "<username>@<host> -p <port_nr>"
При использовании dsa, существует немного отличающаяся команда, добавляя -i <homedirectory>/.ssh/id_dsa
Где-нибудь после этого необходимо будет ввести пароль, который является отдельным от нормального пароля входа в систему. Это было некоторое время, и я забыл точную последовательность, но это должно быть очевидно. Затем в первый раз, когда Вы соединяетесь, Вас попросят этого пароля однажды. Я использую то же имя для входа в систему, таким образом, я не должен вводить имя пользователя (оно принимает то же как удаленное имя пользователя). Кроме того, для серверов на Вашей LAN можно ввести ".local" вместо IP-адреса, я верю (работы для меня).
можно даже смонтироваться, удаленная файловая система с помощью sshfs (принимающий sshfs установлен); замените путем к каталогу local-mount-directory:
sshfs remote-host: local-mount-directory
(размонтирование с помощью fusermount -u local-mount-directory
)
я думаю, что оно будет использовать корневой каталог по умолчанию, если Вы бросите local-mount-directory'.
Копирование файлов может быть сделано с scp.