Come posso controllare quale terminale sto usando?

13

Ho Ubuntu sulla mia macchina e sto eseguendo un gestore di finestre fantastico su di esso. Come posso verificare quale terminale sto utilizzando? C'è un comando per questo?

    
posta user4943481 23.06.2015 - 21:26
fonte

6 risposte

11

La versione breve (thx @Serg )

cat /etc/alternatives/x-terminal-emulator

La versione lunga

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

e cerca * nell'output

;)

Esempio di output

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:

Oppure, grazie a @muru , ecco un output più dettagliato

$ 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'.
    
risposta data A.B. 23.06.2015 - 21:54
fonte
8

Se vuoi sapere quale shell:

echo $SHELL

Puoi anche fare ps aux | grep $(echo $$ ) per lo stesso scopo.

Se vuoi sapere nome file o nome dispositivo che è collegato a stdin. (principalmente utile in tty), esegui tty comando

Molti terminali sembrano mascherarsi come compatibili xterm, che è segnalato da echo $TERM o echo $COLORTERM . I terminali virtuali sono più difficili, come puoi vedere.

Quello che possiamo fare è eseguire xprop , fare clic sulla finestra desiderata, svuotare il suo pid e scoprire qual è il nome di quel processo che corrisponde al pid. O in altre parole:

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

O ancora più semplicemente:

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

    
risposta data Sergiy Kolodyazhnyy 23.06.2015 - 21:55
fonte
8

Se vuoi conoscere il programma terminale che stai utilizzando, usa questo:

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

Esegui questo subito dopo aver aperto il terminale (shell) senza assegnare un'altra istanza di shell .

Quando apri il programma del terminale, esso genera in genere un programma figlio, una shell. Quindi il genitore della shell generata è il terminale stesso. In altre parole, il PPID della shell è il PID del programma terminale.

Qui stiamo trovando l'ID del processo genitore (PPID) della shell ( bash ) di ps -o 'ppid=' -p $$ , che sarà l'ID di processo del programma terminale.

Quindi stiamo trovando il nome del processo dal PID:

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

Fondamentalmente è un solo liner di:

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

$ ps -o 'cmd=' -p 2268
gnome-terminal
    
risposta data heemayl 23.06.2015 - 22:08
fonte
3

Se vuoi solo il nome del programma terminale, molto probabilmente lo troverai in Aiuto & gt; A proposito.

    
risposta data thesdog 23.06.2015 - 22:07
fonte
2

Digitare printenv dalla finestra del terminale per visualizzare tutte le variabili della sessione aperta.

Digita echo $COLORTERM dalla finestra del terminale. NOTA: questo non funziona con tutti i terminali, uno come sakura non riporta questo.

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

quello sotto è da un terminale aterm .

root@terrance-Linux:~$ echo $COLORTERM
rxvt-xpm
    
risposta data Terrance 23.06.2015 - 21:35
fonte
-1

Risposta semplice. Funziona sia per console che per ssh.

Esempio per terminale di caratteri semplici:

ssh username@systemname
echo $TERM
dumb

ti dice che non puoi aprire app della GUI su quella connessione

Esempio per xterm (funziona anche con PuTTY / Xming su Windows)

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

significa che puoi usare i comandi della GUI come aprire l'editor di fogli elettronici o il gestore di file nautilus.

Sulla console è lo stesso:

Open terminal window
echo $TERM
xterm
    
risposta data SDsolar 22.08.2017 - 23:23
fonte

Leggi altre domande sui tag