21

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

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

3 ответа3

18

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

# 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)

4

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

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

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

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

-2

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

chsh /usr/bin/screen

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .