Defina o título para cada guia do terminal no gnome-terminal usando um script bash

4

Estou usando o Ubuntu 16.04

Eu quero abrir várias guias de terminal, executar comandos e definir o título. Eu posso abrir várias abas com este comando:

gnome-terminal --tab -e "command1" --tab -e "command2"

mas não pode usar a opção --title , pois não está disponível nesta versão.

Eu sei que mate-terminal pode fazer isso, mas eu quero usar o gnome-terminal.

Eu apliquei a solução postada aqui e funcionou mas quando eu corro

gnome-terminal --tab -e "bash -c 'set-title 99;ping 192.168.7.99'"

Mostra:

bash: set-title: command not found
PING 192.168.7.99 (192.168.7.99) 56(84) bytes of data.
64 bytes from 192.168.7.99: icmp_seq=1 ttl=128 time=0.425 ms
64 bytes from 192.168.7.99: icmp_seq=2 ttl=128 time=0.353 ms
64 bytes from 192.168.7.99: icmp_seq=3 ttl=128 time=0.335 ms

Eu também apliquei a solução sugerida aqui no Unix & Linux SE

Eu também li este post setting-terminal-tab-titles mas o aceito resposta não resolveu meu problema em 16.04 os ou gnome-terminal versão 3.18.3 e outra solução fornece para usar outro terminal xterm e eu quero usar gnome-terminal.

    
por d a i s y 13.12.2016 / 09:05

1 resposta

7

Se você quiser usar uma função armazenada em ~/.bashrc , digite esse arquivo em seu comando:

gnome-terminal --tab -e "bash -c 'source ~/.bashrc;set-title 99;ping 192.168.7.99'"

Você mencionou nos comentários que planeja usar isso em um script de shell e com várias guias gnome-terminal . Como prova de conceito, você pode usar o seguinte script como exemplo:

#!/bin/bash
gnome-terminal --tab -e "bash -c 'printf \"3]0;TEST1
gnome-terminal --tab -e "bash -c 'source ~/.bashrc;set-title 99;ping 192.168.7.99'"
7\"; sleep 7'" \ --tab -e "bash -c 'printf \"3]0;TEST2
#!/bin/bash
gnome-terminal --tab -e "bash -c 'printf \"3]0;TEST1%pre%7\"; sleep 7'" \
               --tab -e "bash -c 'printf \"3]0;TEST2%pre%7\"; ping -c 4 8.8.8.8'" \
7\"; ping -c 4 8.8.8.8'" \

Em vez da função bash, isso usa printf e as seqüências de escape diretamente. Por favor, esteja atento às barras invertidas.

    
por Sergiy Kolodyazhnyy 14.12.2016 / 08:12