Vine aquí queriendo descubrir cómo hacer que un script genere un terminal y se ejecute en él, así que para aquellos que quieran hacer eso, descubrí esta solución:
if [ ! -t 0 ]; then # script is executed outside the terminal?
# execute the script inside a terminal window with same arguments
x-terminal-emulator -e "$0" "[email protected]"
# and abort running the rest of it
exit 0
fi
He aquí un ejemplo sencillo para empezar:
Para escribir un script de shell, haga esto en su símbolo del sistema:
echo -e '#!/bin/sh\n echo "hello world"' > abc.sh
Esto escribe:
#!/bin/sh
echo "hello world"
A un archivo llamado abc.sh
A continuación, desea establecerlo en ejecutable por:
chmod +x abc.sh
Ahora, puede ejecutarlo:
./abc.sh
Y deberías ver:
hello world
En tu terminal.
Para ejecutarlo en una nueva terminal, puede hacer:
gnome-terminal -x ./abc.sh
o, si es xterm
:
xterm -e ./abc.sh
Aquí hay una lista de diferentes emuladores de terminal.
Alternativamente, simplemente ejecútelo en su terminal actual, pero en segundo plano en su lugar:
./abc.sh &
Para gnomo prueba esto.
Reemplace ls con el comando que desea ejecutar
gnome-terminal -x sh -c "ls|less"
Espero que esto sea lo que quieres
A partir de enero de 2020, el -e
y -x
opción en gnome-terminal
aún se ejecuta correctamente, pero arroja las siguientes advertencias:
Para -e
:
# La opción "-e" está en desuso y podría eliminarse en una versión posterior de gnome-terminal.
# Use “--” para finalizar las opciones y coloque la línea de comando para ejecutar después.
Para -x
:
# La opción "-x" está en desuso y podría eliminarse en una versión posterior de gnome-terminal.
# Use “--” para finalizar las opciones y coloque la línea de comando para ejecutar después.
Según la información anterior, confirmé que puede ejecutar los siguientes dos comandos sin recibir ningún mensaje de advertencia:
gnome-terminal -- /bin/sh -c '<your command>'
gnome-terminal -- ./<your script>.sh
Espero que esto ayude a cualquier otra persona que tenga este problema actualmente :)