Existe uma maneira de atribuir um nome específico a uma sessão de tela unix? Por exemplo, digamos que estou executando o mesmo programa várias vezes, cada um com parâmetros diferentes e quero dizer qual é qual.
gnu-screen
bem, na verdade
fonte
fonte
Respostas:
Você pode nomear uma sessão ao iniciá-la com a
-S name
opção Na tela em execução, você pode alterá-lo digitandoCTRL-a, :sessionname name
. Você pode visualizar as sessões de tela em execuçãoscreen -ls
e conectar-se a uma por nome comscreen -xS name
.Em uma sessão de tela única, você também pode nomear cada janela. Faça isso digitando
CTRL-a, A
o nome que você deseja. Você pode visualizar uma lista interativa de janelas nomeadas digitandoCTRL-a, "
e selecione a lista para a qual deseja alternar.Nomear telas e terminais nas telas é realmente útil para lembrar o que são e por que você os iniciou em primeiro lugar.
fonte
:sessionname NEWNAME
), mas é "geralmente desencorajado". A$STY
variável de ambiente ainda se refere ao nome original. Veja oscreen
manual: gnu.org/software/screen/manual/html_node/Session-Name.htmlExistem dois conceitos aqui, e não tenho certeza de qual deles você tem em mente:
C-a c
cria uma janelaC-a n
eC-a p
alterna para a janela seguinte / anterior e assim por diante.-r
ou-R
) cria uma nova sessão.O Windows possui títulos, que podem ser definidos por meio da
-t
opção de linha de comando,C-a A
ligação de teclas,title
comando ou\ek
sequência de escape. Veja a resposta do shellter para mais detalhes.As sessões podem ter nomes. Você normalmente definiria o nome na linha de comando com a
-S
opção; se você não especificar um nome, a tela cria um. Se você usa várias sessões de tela, normalmente atribui a eles nomes de sessão diferentes. Você pode listar a sessão da tela em execução comscreen -ls
; a primeira palavra em cada linha da sessão é12345.sessionname
onde 12345 é o ID do processo de tela. Usescreen -r sessionname
ouscreen -r 12345
para retomar uma sessão indicada por seu nome ou ID do processo.fonte
Ah ... Tela, isso me leva de volta ;-)
Para uma janela
Para várias sessões iniciadas no seu .screenrc
Aqui está um link para uma cópia on-line da página de manual para tela.
Editar: adicionado
Para alterar o nome da tela atual, crie uma ferramenta de script de shell como
Não testado, não tenho tela disponível no sistema em que estou trabalhando.
fonte
screen
pelo menos 25 anos. Me retira, porque agora é um caso de uso especial que eu levariascreen
. Normalmente, continuo abrindoX-Terms
, mas lembro quando parecia impossível rodarX
em um PC 486 ;-) Felicidades!Durante a execução
screen
:Ctrl+a
(ou seja qual for a suascreen
sequência de escape)A
fonte
As respostas acima já informam como nomear uma tela quando você a inicia. Eles também apontam que uma tela não pode ser renomeada após ter sido iniciada. O título da janela pode ser definido, mas o nome usado para anexar à tela permanece pid.pty.host.
No entanto, para obter um efeito útil, descobri que o uso do alias funciona muito bem. Se eu esquecer de nomear uma tela ou me encontrar em uma sessão com várias telas que naturalmente se tornaram telas para tarefas específicas, basta definir um apelido para o comando anexar a elas.
exemplo:
A emissão do comando alias por si só lembrará as telas que você criou e o comando que você configurou para anexar a elas.
Use
unalias
para removê-los.fonte