Использовать экран GNU как логин "shell"

Каков наилучший способ автоматического запуска экрана при открытии новой оболочки, используя логин, xterm или что-то еще?

Я вижу, что наиболее распространенная рекомендация состоит в том, чтобы поставить exec screen в файле rc или login / profile вашей обычной оболочки, но, например, для tcsh, оболочки входа в систему запускаются.login last, а оболочки, не входящие в систему, читают.cshrc last. Если я поставлю exec screen в.cshrc оболочка входа не будет источником файла.login, и если я добавлю его в.login, оболочка без входа в систему не будет работать на экране. Я предполагаю, что есть аналогичные проблемы с другими оболочками.

3 ответа

Решение

Одним из способов является:

# if $STY is not set...
if [ -z "$STY" ]; then
    exec screen -ARR
fi

Обратите внимание, что это написано для bash, но должен быть похож на csh тоже. Поместите это в .cshrc быть выполненным для всех снарядов.


Другой способ: вы можете просто установить screen как ваш логин в /etc/passwd сам, и поместите эту строку в ваш ~/.screenrc: (Исправьте путь, конечно.)

 defshell / bin / csh 

Но это может сломать программы, которые запускают оболочку входа, определенную в /etc/passwd для различных команд.

(Редактировать: не забудьте добавить экран к /etc/shells)

Старый вопрос, но поиск в Google по той же причине привел меня сюда, так что вот ответ для всех, кто наткнулся на эту страницу.

Лучшая вещь, которую я нашел до сих пор, это Бёбу, если она есть в вашем дистрибутиве. Поставляется с возможностью запуска при входе в систему и управления несколькими экранами одновременно.

Вы можете отсоединиться и выйти из одного места, а затем войти в тот же сеанс в другом месте.

Я считаю, что экран отлично подходит для запуска серверных процессов, но byobu отлично подходит для повседневных дел.

Обычно я делаю это в моем ~/.screenrc

defshell -bash  # the dash makes it a login shell

Как насчет использования chsh:

chsh /usr/bin/screen

Это устанавливает оболочку входа по умолчанию в /etc/passwd. (вы могли бы это там тоже)

Другие вопросы по тегам