Como posso verificar qual terminal estou usando?

16

Tenho o Ubuntu na minha máquina e estou executando o gerenciador de janelas incrível em cima dele. Como faço para verificar qual terminal estou executando? Existe um comando para isso?

    
por user4943481 23.06.2015 / 21:26

7 respostas

11

A versão curta (thx @Serg )

cat /etc/alternatives/x-terminal-emulator

A versão longa

sudo update-alternatives --config x-terminal-emulator

e procure o * na saída

;)

Exemplo de saída

There are 7 alternatives which provide 'x-terminal-emulator’.
Selection Alternative
———————————————–
    1 /usr/bin/xterm
    2 /usr/bin/uxterm
    3 /usr/bin/koi8rxterm
    4 /usr/bin/lxterm
 *+ 5 /usr/bin/gnome-terminal.wrapper
    6 /usr/bin/konsole
    7 /usr/bin/xfce4-terminal.wrapper
Press enter to keep the default[*], or type selection number:

Ou, graças a @muru , aqui está uma saída mais detalhada

$ update-alternatives --display x-terminal-emulator
x-terminal-emulator - auto mode
  link currently points to /usr/bin/gnome-terminal.wrapper
/usr/bin/gnome-terminal.wrapper - priority 40
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/gnome-terminal.1.gz
/usr/bin/koi8rxterm - priority 20
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/koi8rxterm.1.gz
/usr/bin/lxterm - priority 30
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/lxterm.1.gz
/usr/bin/mate-terminal.wrapper - priority 30
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/mate-terminal.1.gz
/usr/bin/uxterm - priority 20
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/uxterm.1.gz
/usr/bin/xterm - priority 20
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/xterm.1.gz
Current 'best' version is '/usr/bin/gnome-terminal.wrapper'.
    
por A.B. 23.06.2015 / 21:54
10

Se você quiser saber qual shell:

echo $SHELL

Você também pode fazer ps aux | grep $(echo $$ ) para o mesmo propósito.

Se você quiser saber nome do arquivo ou nome do dispositivo que está conectado ao stdin. (principalmente útil em tty), execute o comando tty

Muitos terminais parecem se mascarar como compatíveis com xterm, o que é reportado por echo $TERM ou echo $COLORTERM . Terminais virtuais são mais complicados, como você pode ver.

O que podemos fazer é executar xprop , clicar na janela desejada, grep seu pid e descobrir qual é o nome do processo que combina pid. Ou em outras palavras:

$ ps aux | grep $(xprop | awk -F'='  '/PID/ {print $2}')                       
xieerqi   2124  0.6  1.7 208068 34604 ?        Sl   18:47   1:49 gnome-terminal

Ou ainda mais simples:

ps -p $(xprop | awk -F'=' '/PID/ {print $2}')

    
por Sergiy Kolodyazhnyy 23.06.2015 / 21:55
8

Se você quiser saber o programa de terminal que está usando, use este:

ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)

Execute isto logo após abrir o terminal (shell) sem precisar de mais nenhuma instância do shell .

Quando você abre o programa terminal, ele basicamente gera um programa filho, um shell. Assim, o pai da casca gerada é o próprio terminal. Em outras palavras, o PPID do shell é o PID do programa do terminal.

Aqui estamos encontrando o ID do processo pai (PPID) do shell ( bash ) por ps -o 'ppid=' -p $$ , que será o ID do processo do programa do terminal.

Então, estamos encontrando o nome do processo do PID:

$ ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)
gnome-terminal

É basicamente um forro de:

$ ps -o 'ppid=' -p $$
 2268

$ ps -o 'cmd=' -p 2268
gnome-terminal
    
por heemayl 23.06.2015 / 22:08
3

Se você quiser apenas o nome do programa do terminal, provavelmente o encontrará sob Ajuda > Sobre.

    
por thesdog 23.06.2015 / 22:07
3

Digite printenv da janela do terminal para ver todas as variáveis da sessão aberta.

Digite echo $COLORTERM da janela do terminal. OBSERVAÇÃO: isso não funciona com todos os terminais, um como sakura não relata isso de volta.

root@terrance-Linux:~# echo $COLORTERM
gnome-terminal

o abaixo é de um terminal aterm .

root@terrance-Linux:~$ echo $COLORTERM
rxvt-xpm
    
por Terrance 23.06.2015 / 21:35
0
cat /etc/alternatives/x-terminal-emulator | grep exec

Exemplo de saída:

% bl0ck_qu0te%

Existe a resposta para o meu sistema: gnome-terminal .

Então, digitar gnome-terminal no meu terminal agora abrirá outra janela de terminal idêntica.

Fontes:

por Gabriel Staples 02.10.2018 / 01:39
-1

Resposta simples. Funciona para console ou ssh.

Exemplo para o terminal de caracteres simples:

ssh username@systemname
echo $TERM
dumb

informa que você não pode abrir aplicativos GUI nessa conexão

Exemplo para o xterm (também funciona com o PuTTY / Xming no Windows)

ssh -Y username@systemname      -- omit this if using PuTTY --
echo $TERM
xterm

significa que você pode usar comandos GUI como abrir o editor leafpad ou o gerenciador de arquivos nautilus.

No console, é o mesmo:

Open terminal window
echo $TERM
xterm
    
por SDsolar 22.08.2017 / 23:23