GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu uložit svou relaci s více kartami v xfce4-terminálu?

Můžete vytvořit zástupce s předdefinovanými kartami takto:

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

Ale něco takového v Příkazovém řádku dialogového okna editoru zástupců.

Chcete-li, aby každá karta měla jiný pracovní adresář, můžete to udělat takto:

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

Ne že by první neměl --tab před ním, čímž se přidruží k novému oknu nejvyšší úrovně. Pak dvě další karty s různými pracovními adresáři.

Zkuste se vyhnout použití ~ rozšíření, protože to je funkce shellu, která nemusí fungovat v jiném kontextu (jako jsou vlastní spouštěče).


Toto řešení nasazuje jedno okno s více kartami a procesy.

Vytvořil jsem spouštěcí skript (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"

že po spuštění spustí xfce4-terminal, maximalizuje jej a spustí různé programy, jak je uvedeno.

Pokud jde o "exec bash", viz výše:

  • https://unix.stackexchange.com/questions/47271/prevent-gnu-screen-from-terminating-session-once-executed-script-ends*https://unix.stackexchange.com/questions/75902 /jak-spustit-xfce-terminál-s-jinými-příkazy-na-kartu-a-pokračovat-používání-tas

Tj.:Pokud na obrazovce spustíte okno, které spouští příkaz, ponechte toto okno otevřené ...

Zde je animovaný GIF, který ukazuje tyto karty v akci!

[odkaz na větší obrázek]

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

Aktualizovat

Toto je můj aktuální xfce4-terminal-startup.sh skript (můžete si jej stáhnout zde: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. Vim:Jak otevřít více souborů na různých kartách?

  2. Jak automaticky uložit výstup relace PuTTY

  3. Jak napsat víceřádkový řetězec pomocí Bash s proměnnými?

  1. Jak mohu zabít TCP port 16969 v Bash?

  2. Jak odstranit více souborů najednou v Bash na Linuxu?

  3. Jak mohu otestovat svůj Bash skript na starších verzích Bash?

  1. Jak zjistit, zda jsem v relaci Tmux ze skriptu Bash?

  2. Jak se mohu odhlásit z otevřené vzdálené relace SSH?

  3. Jak můžeme v Linuxu vytvořit více fiktivních rozhraní?