Каков наилучший способ автоматического запуска экрана при открытии новой оболочки, используя логин, xterm или что-то еще?
Я вижу, что наиболее распространенная рекомендация - помещать exec screen
в вашу обычную оболочку файл rc или login / profile, но, например, для tcsh, оболочки входа в систему запускаются .login last, в то время как оболочки, не входящие в систему, читают .cshrc last. Если я exec screen
добавлю .cshrc, оболочка входа не будет источником файла .login, а если я добавлю его в .login, экран не войдет в экран. Я предполагаю, что есть аналогичные проблемы с другими оболочками.
unix
shell
login
gnu-screen
wfaulk
источник
источник
Ответы:
Одним из способов является:
Обратите внимание, что это написано для
bash
, но должно быть похоже наcsh
тоже. Поместите это, чтобы.cshrc
быть выполненным для всех раковин.Другой способ: вы можете просто установить в
screen
качестве своей оболочки входа в систему/etc/passwd
и добавить эту строку к вашей~/.screenrc
: (Исправьте путь, конечно.)Но это может сломать программы, которые запускают оболочку входа, определенную
/etc/passwd
для различных команд.( Изменить: не забудьте добавить экран
/etc/shells
)источник
Старый вопрос, но поиск в Google по той же причине привел меня сюда, так что вот ответ для всех, кто наткнулся на эту страницу.
Лучшая вещь, которую я нашел до сих пор, это Бёбу, если она есть в вашем дистрибутиве. Поставляется с возможностью запуска при входе в систему и управления несколькими экранами одновременно.
Вы можете отсоединиться и выйти из одного места, а затем войти в тот же сеанс в другом месте.
Я считаю, что экран отлично подходит для запуска серверных процессов, но byobu отлично подходит для повседневных дел.
источник
Как насчет использования chsh:
chsh /usr/bin/screen
Это устанавливает оболочку входа по умолчанию в / etc / passwd. (вы могли бы это там тоже)
источник