2016-05-14 1 views
3

Я использую экран, чтобы запустить много разных экземпляров приложения и я называю сессий «APP1», «app2» и т.д.
Как использовать точное имя сеанса для входа в экран?

Проблема заключается в том, что если у меня есть экран под названием «app10» началось после того, под названием «app1», когда я типа

screen -r app1 

Я привязываться к экрану app10, потому что это последний экран создан «соответствие» имя app1.

Можно ли избавиться от соответствия имени и использовать точные имена?

По техническим причинам я не хочу изменять app1 в app01. Он используется в имени каталога, автоматизации и т.д.

ответ

1

Как вы правильно указали, на экране используется значение параметра в качестве префикса.

Долгий альтернативой было бы ввести:

screen -r $(basename /var/run/screen/S-$USER/*.app1} 

(предполагая, что ваши розетки находятся в/вар/запустить каталог/экран, который по умолчанию в системах Debian)

Вы можете создать эквивалентная функция Баш в вашем файле .bashrc

function mscreen() { 
     screen -r $(basename /var/run/screen/S-$USER/*$1) 
    } 

, которые позволяют вам ввести

mscreen app1 

восстановить сеанс app1 и не app10

+0

Он работает как шарм, спасибо большое! Вот результат: http://i.rems19.fr/6e629 – Rems19

0

Вы можете использовать pid префикс для этой цели:

man screen 

-r [pid.tty.host] -r sessionowner/[pid.tty. хост] возобновляет сеанс отдельного экрана. Никакие другие варианты (кроме комбинаций с -d/-D) не могут быть указаны, хотя для различения нескольких сеансов отдельного экрана может понадобиться необязательный префикс из [pid.] Tty.host может . Вторая форма используется для подключения к сеансу другого пользователя , который работает в режиме многопользовательского режима. Это означает, что экран должен искать сеансы в другом каталоге пользователя. Для этого требуется setuid-root.

+0

Именование сеансов экрана должен быть способ доступа к ним проще с дружественным именем вместо ФИД. Принудительно набирать экран -ls каждый раз, прежде чем доступ к экрану немного раздражает. – Rems19

+0

Согласен, но вы можете создать для него псевдоним – Samuel

+0

Вы имеете в виду что-то, что будет искать pid, используя имя экрана, а затем введите экран с данным pid? Это очень интересно, я посмотрю. – Rems19

Смежные вопросы