Ho Ubuntu sulla mia macchina e sto eseguendo il gestore di windows impressionante su di esso. Come posso verificare quale terminale sto utilizzando? C’è un comando per questo?
La versione breve (thx @Serg )
cat /etc/alternatives/x-terminal-emulator
La versione lunga
sudo update-alternatives --config x-terminal-emulator
e cercare *
nell’output
😉
Esempio di output
There are 7 alternatives which provide `x-terminal-emulator'.
Selezione alternativa ---------------- 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'.
Se vuoi sapere quale shell:
echo $SHELL
Puoi anche fare ps aux | grep $(echo $$ )
ps aux | grep $(echo $$ )
per lo stesso scopo.
Se si desidera conoscere il nome del file o del dispositivo che è collegato a stdin. (principalmente utile in tty), esegui il comando tty
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 $2}') 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 $2}')
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 cercando il nome del processo dal PID:
$ ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$) gnome-terminal
È fondamentalmente un unico rivestimento di:
$ ps -o 'ppid=' -p $$ 2268 $ ps -o 'cmd=' -p 2268 gnome-terminal
Se vuoi solo il nome del programma terminale, lo troverai probabilmente in Aiuto> Informazioni.
Digitare printenv
dalla finestra del terminale per visualizzare tutte le variabili della sessione aperta.
Digitare echo $COLORTERM
dalla finestra del terminale. NOTA: questo non funziona con tutti i terminali, uno come sakura
non riporta questo indietro.
[email protected]:~# echo $COLORTERM gnome-terminal
quello sotto è da un terminale aterm
.
[email protected]:~$ echo $COLORTERM rxvt-xpm
cat /etc/alternatives/x-terminal-emulator | grep exec
Uscita di esempio:
exec ( ‘gnome-terminal’, @ args);
C’è la risposta per il mio sistema: gnome-terminal .
Quindi, digitando gnome-terminal
nel mio terminale ora apriremo un’altra finestra terminale identica.
Risposta semplice Funziona sia per console che per ssh.
Esempio per terminale di carattere semplice:
ssh [email protected] echo $TERM dumb
ti dice che non puoi aprire app GUI su quella connessione
Esempio per xterm (funziona anche con PuTTY / Xming su Windows)
ssh -Y [email protected] -- 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