вкладки при использовании «экрана»


20

Я использую Ubuntu 10.04. После того как я установил screen:

sudo apt-get install screen

Я сделал два подключения SSH к двум удаленным серверам, выполнив следующие действия шаг за шагом (я делаю следующие шаги в соответствии с документом здесь ):

1. откройте окно терминов, введите командуscreen

2. нажмите Ctrl+ A+, cчтобы создать новую виртуальную консоль

3. ssh usr@IP1

На данный момент у меня есть одна виртуальная консоль, которая показывает, что я подключился к удаленному серверу (IP1).

4. нажмите Ctrl+ A+, cчтобы создать новую виртуальную консоль

5. ssh usr@IP2

Итак, теперь я подключился к двум удаленным серверам (IP1 и IP2). Но , у меня нет двух вкладок на одном окне терминала, вместо этого, я должен использовать Ctrl+ A+ pи Ctrl+ A+ nдля переключения между двумя виртуальными консолями в одном окне терминала.

Разве это не так, что при использовании screenя мог бы иметь две вкладки в одном окне терминала, причем каждая вкладка отображала одно соединение с одним удаленным сервером. Почему у меня нет вкладок в окне терминала?

Ответы:


26

Вот мой, .screenrcкоторый я использую везде, чтобы увидеть мои screenномера в виде вкладок в нижней части окна и информационной строки над вкладками . Часть, в которой вы действительно нуждаетесь, находится под «взглядом и чувством».

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup. 
autodetach on

# Change default scrollback value for new windows
defscrollback 10000

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"

# look and feel
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

activity "Activity in %t(%n)"

shelltitle "shell"
shell -$SHELL

Вы можете дополнительно добавить следующее, чтобы автоматически добавлять две вкладки при screenпервоначальном создании:

screen ssh usr@IP1
screen ssh usr@IP2

Кроме того, содержимое состояния может быть обновлено с помощью управляющих кодов, выдаваемых командами и приглашениями оболочки. Например, я обновляю статус с помощью текущего каталога, используя это в моем .bashrc:

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi

4
Я всегда удивлялся, почему он всегда требует некоторой жесткой настройки, чтобы экран не работал. PS Попробуй shelltitle "$ |shell:"добавить название команды в заголовок.
амфетамина

7

Когда вы нажимаете Ctrl+, aи "вы видите на экране «вкладки», они не должны быть вкладками в графическом интерфейсе вашего терминала, вы можете сделать это вручную, создав новую вкладку в используемом вами графическом интерфейсе терминала, а затем запустить на новом вкладку, screen -rчтобы вернуться к сеансу экрана, а затем перейдите к желаемому сеансу с Ctrl+ aи номером или, "чтобы увидеть меню со всеми вашими вкладками.

Вы можете дать имя каждой из экранных «вкладок», нажав Ctrl +, a затем A .


1
Должен запускаться, screen -r -xесли этот экран уже прикреплен на первой вкладке.
Arcege

3

Я предполагаю, что вы путаете вкладки на графических терминалах, таких как konsole, с вкладками на экране. На экране вы переключаете только содержимое окна с упомянутыми ^ A-Kombination. Это работает также в неграфической среде.


2

Вы можете настроить screenотображение строки состояния, которая может информировать вас о многих вещах, я полагаю также, в каком окне экрана вы находитесь, но я не использую строку состояния, поэтому не могу сказать наверняка.

Насколько я знаю, screenне создавайте вкладки, но вы должны переключаться между экранами с помощью указанной вами команды или, как я предпочитаю, Ctrl- A 1, Ctrl- A 2и т. Д.

Чтобы иметь более одной вкладки, вы можете использовать gnome-terminalфункции, также без экрана: Ctrl- Shift- Tсоздаст новую вкладку, а Alt- 1, Alt- 2и т. Д. Будет переключаться между вкладками.

Также я спрашиваю, почему вы не запускаете screen на сервере, поэтому используете только одно ssh-соединение (но в этом случае без какой-либо вкладки).


2

Я знаю, что это довольно старо, но так как Google привел меня сюда, другие тоже могут это прочитать. Итак, вот мой взлом на 0,02 доллара, чтобы имитировать вкладки в «экранной» сессии:

Создайте строку состояния с помощью:

  • на левой стороне: дата / время
  • справа: имя локального хоста + средняя загрузка
  • посередине: названия экрана "окна"
    • текущее окно: красный текст на черном фоне
    • другие окна: белый текст на цвет фона строки состояния (синий, здесь)

Положить в ~/.screenrc:

hardstatus alwayslastline "%{kb}%{c}[%{w}%D %d/%m/%Y %c:%s%{c}] %{w}%-w%{rk}%n %t%{wb}%+w %=%{c}[%{W}%H %l%{c}]"

(Может быть, это стоит больше, чем 0,02 доллара, потому что я долго боролся с этим ;-)

Чтобы переключиться с текущего окна на предыдущее / следующее с помощью клавиш F6/ F7:

bindkey -k k6 prev
bindkey -k k7 next
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.