Янно, это звучит очень похоже на то, что может сделать Бёбу
Как мне создать иерархию терминалов или рабочих пространств?
Мне интересно, есть ли какой-нибудь способ создать иерархию / дерево терминалов в сеансе экрана в Linux?
Я не против взломать это, так что если есть проект, который работает над этим, я бы хотел принять участие в этом.
Объяснение:
Я хотел бы иметь что-то вроде
1 bash 1.1 bash 1.2 bash 2 bash 3 bash 3.1 bash 3.1.1 bash 3.1.2 bash
Было бы хорошо, если бы терминалы могли быть помечены вместо того, чтобы переходить по какой-либо схеме, которая, как я подозреваю, не существует. Итак, вы можете перейти к одному с помощью, например ^A:goto happydays
или ^A:goto dykstra.angry
.
Каждый браузер предлагает возможность создавать плоский набор вкладок, содержащих документы идентичной природы. GNU - screen
реализует ту же функциональность без использования вкладок. Диспетчеры окон Linux и OS / X предоставляют возможность организовать окна в массив рабочих пространств, что опять-таки означает то же самое.
Я хотел бы иметь возможность не только группировать вещи в древовидную структуру, но и создавать ссылки (так называемые символические ссылки, так же как указатели) из одной части структуры в другую, а также применять свойства (например, каталог по умолчанию, colorscheme), ...) рекурсивно вниз от данного узла.
3 ответа на вопрос
только что нашел этот вопрос.
Вы можете делать то, что, я полагаю, вы ищете прямо в GNU-Screen. В .screenrc добавьте:
screen -t 1.1 0 # just a shell
screen -t 1.2 1 screen -m -e
^ хх-c $/.screenrc-1.2 #new session inside accessed by Ctrl-x
screen -t 1.3 2 screen -m -e '^xx' -c $/.screenrc-1.3 #yet another new session
Тогда ~ / .screenrc-1.2 и ~ / .screenrc-1.3 могут быть отдельными установками для подсессий; например, .screenrc-1.3 может определять больше подсессий. Оказавшись внутри всего сеанса, вы можете переключаться между ними, а внутренние сессии имеют свои собственные последовательности управления (Ctrl-X), вы можете перейти к по имени или номеру: select 1.2
.
Nesting screen sessions (as suggested by Archege) will achieve what you're looking to do, but managing the multiple layers of nesting (especially when it comes to sending commands to the correct screen session) can be a pain. More recent versions of screen (I'm using 4.1.0) support window groups, which can do most of what you're looking to accomplish. Window groups don't seem to be capable of anything analogous to hardlinking, and the feature has only minimal integration and documentation (presumably due to being comparatively new and relatively obscure). However, a notable advantage of window groups is that they work through a single screen session; consequently, managing the nested arrangement is less troublesome.
The code block below is a commented copy/paste of the sections of my .screenrc that are relevant to window groups:
# first, make a root group that all of the other groups will go into # note that the "//group" is *NOT* a comment; without it, only a # standard window will be spawned screen -t root 0 //group # select the root window to make sure that the next created group will # end up there, and make another group nested inside of it select 0 screen -t shells 1 //group # rinse and repeat for more groups select 0 screen -t editors 2 //group select 0 screen -t SSH 3 //group select 0 screen -t scratch 4 //group select 0 screen -t scripts 5 //group # to add windows into first group, select it and then create windows # as normal select 1 screen 6 screen 7 # rinse and repeat as desired for the other groups select 2 screen 8 # and so on...
Похожие вопросы
-
2
Как отправить escape-символ на OS X терминал?
-
1
Как разблокировать заблокированный файл псевдонимов в OS X?
-
4
Использование публичных терминалов для входа в ваши личные учетные данные
-
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
3
Mac OS X: обычные места, где должны жить бинарные файлы
-
2
Mac OS X: нужен простой скрипт
-
3
Настройка двух мониторов
-
4
Прозрачный терминал Unicode X не привязан к среде рабочего стола?
-
1
Невозможно открыть сеанс без экрана со многими вкладками
-
3
Группы окон OSX