Как я могу установить экран, таким образом, он выполняет автоматически какое-либо время, пользователь входит в систему с помощью интерфейса cli? Если бы уже существует экранная сессия, работающая за тем пользователем, я хотел бы, чтобы любые новые логины присоединили к той экранной сессии. Было бы действительно хорошо, если при присоединении к экранной сессии новое окно создается для каждого нового входа в систему.
Выполнение screen -xR
сделает в основном то же как выполнение screen -xr || screen
.
Проблема состоит в том, что насколько я знаю, Вы не можете передать флаги оболочке входа в систему. Кроме того, при наличии чего-то необолочка как экран, поскольку оболочка входа в систему, вероятно, повредила бы вещи как SFTP.
Так, что мы сделаем, установлен удар как наша оболочка входа в систему. Затем мы добавим в конец .bashrc (удар файла работает при запуске его), код, который выполняет экран. Экран будет затем работать, любая оболочка указана в .screenrc
.
Мы сделаем его так, чтобы эта команда работала только под особым условием: Только если текущий рабочий удар копии не был запущен (возможно косвенно) другой копией удара. Это сделает его так, чтобы, если Вы пользователь хотите удар как их оболочку, и экран запустил удар в нем, пользователь не получит российский взрыв кукол удара в экране в ударе в экране в ударе, пока компьютер не исчерпает память.
Во-первых, измените оболочку на/bin/bash путем выполнения chsh
, затем вводя Ваш пароль, затем вводя /bin/bash
и нажатие Enter.
Затем отредактируйте скрытое .bashrc
файл в Вашей домашней папке, добавляя следующее в конец:
if [ ${SHLVL} -eq 1 ]; then
((SHLVL+=1)); export SHLVL
exec screen -xR
fi
Теперь, редактирование (создают, если оно не выходит), скрытый файл .screenrc
в домашней папке. Добавьте или измените следующие настройки:
shell /bin/zsh
startup_message off
(Конечно, если Вы хотите некоторую другую оболочку, чем Zsh, разрешение и вставляете это вместо этого. Это должно даже работать с ударом.)
Во-первых, для пользователей Вы собираетесь сделать это для, удостоверьтесь их ~/.screenrc
имеет строку
shell /bin/bash
(или безотносительно другой оболочки Ваш пользователь в настоящее время использует). Если у Вас не будет этого набора установки, и Вы изменяете их оболочку как, то мы будем, пользователь не смочь войти в систему. Вы могли бы также рассмотреть то, чтобы заставлять экранное сообщение запуска уйти с этой строкой
startup_message off
Хорошо, теперь позволяет, делают выполнимый сценарий, который уже присоединяет к первому рабочую экранную сессию, если она выходит, и она ни один уже не работает, она запускает тот. Выполненный в терминале
sudo nano /bin/screenlogin.sh
Вставьте два после строк:
#!/bin/bash
screen -x -r || screen
Нажмите Ctrl x и затем y, чтобы сохранить файл. Выполненный
sudo chmod 755 /bin/screenlogin.sh
Наконец, выполненный chsh
на целевом пользователе и вставленный /bin/screenlogin.sh
для оболочки при выяснении.