Более того - я не знаю правильно ли найденное мною решение и если у кого-то, кто случайно забредёт сюда, есть хотя бы идея comme il faut, то прошу вас оставить свой комментарий.
Итак, понятно, что нужно использовать команду screen в ~/.screenrc:
$ cat ~/.screenrc screen 0 /bin/bash --rcfile /home/user/.bashrc.work -i ... screen 9 /bin/bash --rcfile /home/user/.bashrc.work -i
Однако например в Cygwin мне требуется запустить bash с ключом --login чтобы он прочёл перед стартом все инициализирующие файлы. Здесь --login подавит использование --rcfile и потому в самом /home/user/.bashrc.work нужно проделать все необходимые операции:
$ cat ~/.bashrc.work [ -f /etc/profile ] && source /etc/profile [ -f ~/.bash_profile ] && source ~/.bash_profile cd /нужный/нам/каталог
Теперь при запуске screen мы получим 10 консолей в определённом месте (/нужный/нам/каталог), а все другие консоли, которые мы создадим будут давать нам стандартный shell в ${HOME}. Для запуска rxvt со screen я использую следующую команду:
C:\cygwin\bin\rxvt.exe -fn "Courier New-15" -e /usr/bin/screen
Для более тонкой работы можно, например, анализировать значение какой-нибудь переменной.
No comments:
Post a Comment