GNU Screen добавляет знаки доллара к заголовкам окон

GNU Screen добавляет знаки доллара к заголовкам окон

Недавно я скопировал свой файл .screenrcс одного компьютера (Mac OSX 10.4) на другой компьютер (Fedora 16)

Теперь на компьютере Fedora $ко всем заголовкам окон добавляется .

Вот моя строка жесткого статуса:

hardstatus string '%{= kG}[ %{G}%H %{g} %{r}%l%{= kG} ][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

У меня настроены некоторые экраны на автоматический запуск.

#Default Screens
screen -t foo 0
screen -t bar 1
screen -t fizz 2
screen -t buzz 3
screen -t bag-and-tag 4
screen -t deployment-zone 5

Но заголовки окон, отображаемые при запуске, screenсодержат знак доллара:

 (0*$foo)  1$ bar  2$ fizz  3$ buzz  4$ bag-and-tag  5-$ deployment-zone

Я думаю, это как-то связано с разницей в средах оболочки (Mac OSX Darwin против полноценного Linux),

решение1

Посмотрите на windowsкоманду в документации, и вы увидите:

 The current window is marked with a `*'; the previous window is
 marked with a `-'; all the windows that are logged in are marked
 with a `$' (*note Login::); a background window that has received
 a bell is marked with a `!'; a background window that is being
 monitored and has had activity occur is marked with an `@' (*note
 Monitor::); a window which has output logging turned on is marked
 with `(L)'; windows occupied by other users are marked with `&' or
 `&&' if the window is shared by other users; windows in the zombie
 state are marked with `Z'.

Обозначает $, что запущена оболочка входа. Терминальный сеанс зарегистрирован с помощью whoи wи ~/.bash_profileбыл бы запущен при запуске оболочки.

решение2

Я взял вашу строку hardstatus и изменил ее, удалив только символы $:

hardstatus string '%{= kG}[ %{G}%H %{g} %{r}%l%{= kG} ][%= %{=kw}%?%-w%?%{r}(%{W}%n*%t%?(%u)%?%{r})%{w}%?%+w%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

В принципе, $персонаж был добавлен, потому что window flagsмы были включены. Вот выдержки из вышесказанного, которые были изменены:

  • %-Lw%to %-w%- Взяв Lздесь персонажа, удаляет window flagsдля всех окондотекущее выбранное окно (окно, отмеченное *).
  • %+Lw%to %-w%- То же, что и выше для оконпослетекущее выбранное окно.
  • %n*%f%tto %n*%t- выбор для текущего выбранного окна (обратите внимание на *)

Вот ссылкассылка о экранировании строк GNU Screenкоторый содержит дополнительную информацию и пояснения о каждом из символов из приведенной выше строки.

Связанный контент