Ich habe ein einfaches Bash-Skript geschrieben, das für eine Datei oder einen Verzeichnispfad auffordert und öffnet es mit Exo-Open, ich habe dann das Skript auf einer Tastatur zugewiesen Abkürzung so dass ich CTRL +SHIFT + ALT + O über eine Terminal-Eingabeaufforderung jederzeit etwas zu öffnen:Exo-Open in einem Terminal-Skript - Programm schließt mit dem Terminal
Und das Skript:
#!/bin/bash
# CD to the home folder (not sure if this is needed, no harm either way)
cd ~/
# Request the filepath
echo -e "\e[1;31mEnter a file or directory:\e[00m"
read -e -i "~/" filename
# Convert ~/ to /home/username/
filename=`eval "echo $filename"`
echo -e "opening\e[1;32m" $filename "\e[00m"
# Open the file
exo-open "$filename"
echo "press enter to exit"
read enter
Mein Problem ist, dass der erzeugte Programm mit dem Terminal verbunden ist, wenn das Terminal schließt es das Programm mit dauert es - als eine einfache Abhilfe, die ich am Ende eines anderen Benutzer Aufforderung muß Stoppen Sie das Schließen des Terminals; Weiß jemand, wie ich dem Terminal erlauben könnte, zu schließen, aber das resultierende Programm offen zu halten?
einige Ideen, die ich je hatte/versucht:
- Lauf
disown $!
nach Exo-open (nicht funktioniert) - Verwendung
nohup
(funktionierte nicht) - Run Exo-geöffnet von die PPID (keine Ahnung, wie dies zu tun)
mit meinem Latein am Ende :-(
disown nimmt einen Job-ID, also verwenden '% 1 'statt' $! ' –
Interessant, das gab mir eine" Fehler beim Ausführen der Standard-Terminal-Emulator. Input/Output error. "Warning. Ich habe es gerade mit' setsid exo-open "$ filename" 'gelöst – oodavid