Я использую cron на Ubuntu Server 12.04, чтобы запланировать автоматическую перезагрузку системы в полночь, а при перезагрузке выполнить скрипт, который запускает сервер vnc, открывает восемь окон терминала и запускает команду в каждом. Я использую thinvncserver в качестве сервера VNC, а Xterm - в качестве эмулятора терминала и Openbox - в качестве среды рабочего стола. Я храню инструкции cron в crontab рута, поэтому скрипт запускается от имени root. Проблема в том, что когда я открываю сеанс xterm из ssh от имени root, он говорит, что отображение не установлено. Я использую команду: 'xterm -hold -geometry 52x4 + 0 + 0 -e /PM1/start.sh'. Vncserver запускается ранее как root в том же скрипте. Помощь очень ценится.
Установка xauth на удаленном сервере может решить проблему.
sudo apt-get install xauth
Может потребоваться перезагрузить сервер после установки xauth.
Также проверьте файл sshd_config на стороне сервера. X11Forwarding должен быть установлен на да ;
/etc/ssh/sshd_config
. Также при подключении через ssh следует использовать X опция, чтобы включить Xforwarding. Такие как:
ssh -X username@X.X.X.X