Я подключаюсь к системе с помощью Putty (это клиент Windows SSH), а затем запускаю какой-то сервис в интерактивном персональном режиме.
Например, это скрипт для запуска freeswitch:
dims@nebulla:~$ cat freeswitch.sh
#!/bin/sh
cd ~/bin/freeswitch/bin
gnome-terminal -e ./freeswitch &
Т.е. он установлен в пользовательском каталоге.
Также для DISPLAY
установлено значение :0
Проблема в том, что я не могу использовать этот скрипт, пока не войду один раз.
Скрипт отвечает
dims@nebulla:~$ ./freeswitch.sh
dims@nebulla:~$ No protocol specified
Failed to parse arguments: Cannot open display:
После входа в систему я могу сделать «Смена пользователя» и увидеть экран входа, но скрипт сможет работать, так как рабочий стол существует.
У меня вопрос: можно ли «предварительно загрузить» мой рабочий стол, чтобы исходная ситуация была такой, как если бы я подключился и пошел переключать пользователя?
Ответ Ицана полностью верен. Тем не менее, я думаю, что вы стремитесь к неправильной цели. Я не уверен, что такое freeswitch, поэтому я собираюсь удалить его и использовать gedit.
Во-первых, Linux более «ориентирован на сеть», чем Windows. Это верно вплоть до уровня графического интерфейса. X windows, это сетевой протокол. Вы можете запустить один из нескольких X-серверов в Windows, а затем использовать putty для подключения к Linux и запустить gedit. Окно будет отображаться в окне Windows, как если бы вы запускали его изначально.
Еще одна опция, которая очень похожа, но хороша, если вы хотите поддерживать постоянный запуск gedit, это Xvnc. Вы можете запустить сервер VNC (к которому вы подключаетесь из Windows). Это даст вам полностью независимый дисплей для запуска Gedit. Xvnc может запускаться как сервер, как конкретный пользователь и автоматически выполнять некоторые команды. Это поможет вам начать работу в этом направлении, но потребует немного исследований. Я подозреваю, что это то решение, которое вам нужно.
Третье решение - XDMCP. Этот протокол позволяет вам войти в X-сеанс с удаленного X-сервера. По сути, вы должны подключиться к «экрану входа» из окна Windows и перейти оттуда. Эта страница является хорошим началом для XDMCP
Четвертое решение - запустить X, а затем запустить в нем свой скрипт. Это даст вам «специальный» рабочий стол, который вы сможете использовать только для этого приложения. Это не "сломает" вашу обычную установку или вход в систему, но выделит ваше приложение. Быстрый пример сценария будет ...
# / bin / bash
blockquote>
sudo X: 2 & amp;
sleep 5 # ждать запуска X
export DISPLAY =: 2 # установить X display
metacity --replace # запустить менеджер окон (это может быть не установлено)
gedit # запустить реальную программуявляется то, что четвертый пример может также использоваться в сеансах Xvnc или XDMCP.
ну есть опция автоматического входа. так что, когда вы включите этот компьютер, он войдет в систему автоматически.
Для GUI вы можете настроить его из системных настроек -> Учетные записи пользователей.
из терминала сделайте это
gksudo gedit /etc/lightdm/lightdm.conf
, и вы получите
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
autologin-user=username
Там, в имени пользователя, укажите свое имя пользователя. , затем сохраните и закройте его. чтобы применить изменения, перезапустите вашу систему или перезапустите.
Надеюсь, это поможет.