GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo guardar mi sesión de múltiples pestañas en una terminal xfce4?

Puede crear un acceso directo con pestañas predefinidas como esta:

Terminal --geometry=100x40 --hide-menubar --hide-toolbars -T "Host1" -e "ssh -t [email protected]" --tab -T "Host2" -e "ssh -t [email protected]"

Pero algo así en la línea de comandos del cuadro de diálogo del editor de accesos directos.

Para que cada pestaña tenga un directorio de trabajo diferente, puede hacerlo de esta manera:

Terminal --working-directory=$HOME/tmp --tab --working-directory=$HOME/src --tab --working-directory=$HOME/opt

No es que el primero no tenga un --tab antes, haciendo que se asocie con la nueva ventana de nivel superior. Luego dos pestañas adicionales con diferentes directorios de trabajo.

Trate de evitar el uso de ~ expansión, ya que es una función de shell que puede no funcionar en otro contexto (como lanzadores personalizados).


Esta solución implementa una ventana con varias pestañas y procesos.

Creé un script de inicio (xfce4-terminal-startup.sh ),

#!/bin/bash
xfce4-terminal --maximize --title='Neovim' -x bash -c "nvr -s; exec bash"
xfce4-terminal --tab --title='psql' -x bash -c "psql -d zzz; exec bash"
xfce4-terminal --tab --title='Cypher-shell' -x bash -c "cd /mnt/Vancouver/Programming/data/hmdb; exec bash"
xfce4-terminal --tab --title='Cycli' -x bash -c "source activate py35 && cycli -P *** -u *** -p ***; exec bash"
xfce4-terminal --tab --title='Py3' -x bash -c "source activate py35 && python; exec bash"
xfce4-terminal --tab --title='bc' -x bash -c "bc; exec bash"
xfce4-terminal --tab --title='ud' -x bash -c "pacaur -Syu; exec bash"

que cuando se ejecuta inicia xfce4-terminal, lo maximiza y lanza los diversos programas como se indica.

Con respecto a "ejec bash", arriba ver:

  • https://unix.stackexchange.com/questions/47271/prevent-gnu-screen-from-terminating-session-once-executed-script-ends*https://unix.stackexchange.com/questions/75902 /cómo-ejecutar-xfce-terminal-con-diferentes-comandos-por-pestaña-y-seguir-usando-las-pestañas

Es decir:si inicia una ventana en la pantalla que ejecuta un comando, mantenga esa ventana abierta ...

¡Aquí hay un GIF animado que muestra esas pestañas en acción!

[enlace a imagen más grande]

  • Referencia: https://askubuntu.com/questions/421421/how-can-i-make-a-terminal-with-3-tabs-appear-after-startup/422121#422121

Actualizar

Este es mi xfce4-terminal-startup.sh actual script (puede descargarlo aquí:https://persagen.com/files/misc/xfce4-terminal-startup.sh):

#!/bin/bash
# vim: set filetype=sh :
# vim: syntax=sh

# /mnt/Vancouver/programming/scripts/xfce4-terminal-startup.sh

# https://web.archive.org/web/20110314180918/http://www.davidpashley.com/articles/writing-robust-shell-scripts.html
# https://stackoverflow.com/questions/2870992/automatic-exit-from-bash-shell-script-on-error/2871034#2871034
set -e

# ----------------------------------------------------------------------------
# This one first:

# Python as basic calculator: 1/3; import math; 2*math.pi; ...
xfce4-terminal --maximize --title='calculations' -x bash -c "python; exec bash"

# ... then (these will open as child tabs in the parent terminal window, above):

# Open my (current) project directory:
xfce4-terminal --tab --title='bash'  -x bash -c "cd /mnt/Vancouver/projects/ie/claws/; pwd; ls -l; echo ''; exec bash"

# Start Neovim:
xfce4-terminal --tab --title='neovim' -x bash -c "nvr -s; exec bash"

# Open ripgrep tab (echo sample command), for fast searches in that director:
xfce4-terminal --tab --title='ripgrep' -x bash -c "cd /mnt/Vancouver/domains/PERSAGEN.com/2.0/; echo rg . -i -e \'1903.03243\'; exec bash"

# Open an Arch Linux update tab:
xfce4-terminal --tab --title='ud' -x bash -c "yay -Syu; exec bash"

Linux
  1. ¿Cómo saber si estoy en una sesión Tmux desde un script Bash?

  2. Linux:cómo guardar una sesión X:¿Archlinux+openbox?

  3. ¿Cómo puedo usar comandos con alias con xargs?

  4. ¿Cómo puedo recordar el argumento del comando bash anterior?

  5. ¿Cómo puedo eliminar el puerto TCP 16969 en Bash?

¿Cómo puedo cerrar sesión en una sesión SSH remota y abierta?

¿Cómo puedo iniciar varias sesiones de pantalla automáticamente?

¿Cómo edito líneas anteriores en un comando de varias líneas en Bash?

¿Cómo puedo editar varios archivos en VIM?

¿Cómo podemos crear múltiples interfaces ficticias en Linux?

¿Cómo puedo registrar completamente todas las acciones de los scripts de bash?