shell windows

Befehle in neuen Tabs in ConEmu oder Hyper öffnen

Ist es möglich, Befehle in neuen Tabs oder Fenstern in Befehlszeilen-Terminal-Emulatoren wie ConEmu oder Hyper zu öffnen und auszuführen? Die Fähigkeit, Terminal-Software-Fenster und -Tabs als CLI-Befehle zu verwalten, wäre für Programmierer eine dankbare Funktion, wenn möglich.

Shou Arisaka
4 Min. Lesezeit
18. Okt. 2025

Ist es möglich, Befehle in neuen Tabs oder Fenstern in Befehlszeilen-Terminal-Emulatoren wie ConEmu oder Hyper zu öffnen und auszuführen? Die Fähigkeit, Terminal-Software-Fenster und -Tabs als CLI-Befehle zu verwalten, wäre für Programmierer eine dankbare Funktion, wenn möglich.

Zum Beispiel kann als angenommener Anwendungsfall das folgende Szenario in Betracht gezogen werden:

hyper --tab --title "Server" --script "cd $HOME/myProject/server && bundle exec rails s"
hyper --tab --title "Console" --script "cd $HOME/myProject/server && bundle exec rails c"
hyper --tab --title "Specs" --script "cd $HOME/myProject/server && bundle exec guard"

@jacquescrocker Selecting a shell on startup in the Hyper terminal emulator

Öffnen Sie einen Tab in Hyper, warten Sie auf die Ausführung von .bashrc (oder es muss keine Login-Shell sein), und dann können Sie endlich Befehle, Batch-Befehle oder Dateien ausführen. Zum Beispiel ist es in Bezug auf Zeitverbrauch für einen Programmierer so ineffizient, wie sudo apt update ; sudo apt install package -y separat auszuführen und dreimal zu warten.

In meinem extremen Fall habe ich mehrere Skripte, die ich beim Start starten möchte, und ich habe sie ausgeführt, indem ich jeweils auf Terminal- und Tab-Starts gewartet habe. Deswegen ist das Neustarten von Windows oder das Austauschen von SSDs sehr widerwillig. Also, wenn ich Befehle in neuen Tabs öffnen und ausführen kann, wäre das ziemlich gut.

Leider scheint es jedoch schwierig zu sein, das zu tun. Schauen wir uns ein Issue an, das auf Hyper von jemandem gepostet wurde, der genau das tun möchte.

Use Hyper CLI to open multiple windows and tabs with configuration · Issue #462 · vercel/hyper

Ich kann es sagen, weil das Issue noch offen ist, aber es scheint, als würde die Konversation in die Richtung fortschreiten, dass es möglich sein könnte, es zu implementieren. Allerdings ist es sehr wenig aktiv. Ich denke nicht, dass es 2021 implementiert wird.

Guake Terminal has something very similar to this

Ich habe Informationen darüber gefunden, dass Guake Terminal eine ähnliche Funktion hat, aber wenn es um gnome geht, ist es für Linux-Maschinen, oder? Idealerweise plattformübergreifend wie Hyper…

Also, während ich über verschiedene Dinge nachdachte, dachte ich “Vielleicht kann ich es mit tmux machen.”

(Installation)

sudo apt update ; sudo apt install tmux -y

(Github)

tmux/tmux: tmux source code

Ich habe zuvor einen Artikel über tmux geschrieben, aber ich habe es nicht vollständig genutzt und verstehe nicht wirklich, was tmux ist. Ich denke, es ist wahrscheinlich wie ein Terminal-Emulator-Emulator.

Angenommen, Sie haben die folgende Funktion in .bashrc, und Sie führen normalerweise web_d in einer Login-Shell aus, die .bashrc geladen hat.

web_d(){
  cd /mnt/c/pg/web/public && http-server -p 8091 &> /dev/null & lt --port 8091 -s hogehoge
}

Wie bereits erwähnt, verschwendet man auf diese Weise Zeit,

Aber mit tmux können Sie dies tun und es wird automatisch die Login-Shell, .bashrc und den Befehl im Hintergrund ausführen und warten.

tmux new-session -d -s "web_d" 'bash -ic "web_d;"'

Wenn Sie anhängen möchten, können Sie so etwas wie tmux attach-session -t web tun. Dort können Sie bei Bedarf überprüfen, ob es ordnungsgemäß funktioniert, protokolliert usw. Zum Beispiel könnte der Unterschied zwischen dem Ausführen von puppeteer headful oder headless einen Unterschied in der CPU-Auslastung machen - das ist auch bemerkenswert.

Also, bezüglich des Wunsches, Befehle in neuen Tabs in ConEmu oder Hyper zu öffnen und auszuführen, denke ich, dass es nicht viel Unterschied gibt zwischen dem physischen Öffnen von Tabs und Fenstern in einem Terminal-Emulator zur Ausführung von Befehlen, und dem Ausführen im Hintergrund und Attach-Session, wenn Sie überprüfen möchten, sobald Sie sich daran gewöhnt haben.

Ich bin mir nicht sicher, ob es nur meine Umgebung ist, die abnormal ist, oder WSL1 langsam ist, aber meine Bash-Umgebung braucht etwa 40 Sekunden, um .bashrc und Initialisierungsskripte zu laden. (.bashrc hat etwa 35.000 Zeilen)

Deswegen denke ich, dass diese Methode zum Ausführen von Startbefehlen mit tmux noch wundervoller ist.

Diesen Artikel teilen

Shou Arisaka 18. Okt. 2025

🔗 Links kopieren