Em muitos sistemas linux echo $TERM return xterm veja stazher post acima.
Para obter o terminal real em uso, faça o seguinte:
1: feche todas as instâncias de terminal atualmente em execução.
2: Abra um novo terminal usando seu método usual.
3: digite o comando da seguinte forma:
ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)
4: O retorno deve ser algo assim:
lxterminal --geometry=135x20
Aqui está o detalhamento:
Então: ps é "status do processo"
ps option -o is Exibe informações associadas ao espaço ou
lista separada por vírgulas de palavras-chave especificadas. Parece complicado, mas
não é realmente. (espaço ou vírgula) separados (lista de palavras-chave) especificada.
Portanto, (lista de palavras-chave) é 'cmd=' Apenas uma palavra-chave na lista. Então, apenas pedindo para exibir o comando para abrir o terminal.
ps opção -p é "por id do processo" Uau, essa é uma opção muito boa para o ps. O problema é que você deve passar para ps este id de processo. Então, como obter o ID do processo? Nós desembrulhamos a expressão $(ps -o 'ppid=' -p $$)
Aqui devemos começar a pensar um pouco mais. Eu gostaria de ter inventado este bash one-liner, mas não o fiz. Eu acho que eu roubei de link em algum lugar, eu não pude encontrar novamente. Esses caras são incríveis, mas muitas vezes eu não consigo entender o que eles dizem para fazer até depois de muito estudo. O que podemos fazer é entender isso agora, porque vou explicar.
então sabemos $ é operador de expansão no bash. Eu gosto de pensar "un-wrap". Então, $(foo -opt bar) irá desembrulhar, ou expandir, "foo -opt bar". Mas no bash, chave de um único turno (...) abre subshell.
Portanto, $(foo -opt bar) expande "foo -opt bar" como executado no shell filha . Muito estranho e difícil de entender.
OK, agora estamos executando o comando quase idêntico novamente, ps -o 'ppid=' -p $$ mas desta vez ps, status do processo, mostra o que ele pode ver de dentro da instância do shell filha .
-o lista de palavras-chave, apenas uma palavra-chave como antes, mas ppid= está solicitando diretamente o ID do processo do shell pai !! De dentro da filha SHELL! Muito inteligente, sim? Estou tão animada quando consigo entender isso!
-p novamente, "por ID do processo" e no bash $$ é o ID do processo.
Se você chamar ps -o 'ppid=' -p $$ , ou qualquer outro comando pedindo $$ diretamente do primeiro shell, ele pode dizer pid = 1, ou o pid do xWindow, ou do seu programa de desktop, ou você pode obter o pid real de casca. Se você perguntar muitas vezes, talvez receba uma resposta diferente a cada vez!
Mas, se você invocar uma filha e perguntar "quem é o seu pai", ela lhe dirá! Muito esperto. Eu gostaria de poder ser tão genial para inventar este método.