Angenommen, ich muss ein Skript schreiben, das ein Terminal startet und einen Befehl ausführt, und ich brauche das, um auf verschiedenen Systemen zu funktionieren. Wie kann ich das auf sichere und tragbare Weise tun?
Ist xterm
immer installiert? Ich gehe davon aus, dass jeder *nix mit einer GUI einen Terminalemulator haben muss. Wie komme ich darauf? Debian-Systeme haben x-terminal-emulator
aber das funktioniert anscheinend nicht einmal in Red Hat, geschweige denn in Nicht-Linux-Nixen.
Akzeptierte Antwort:
Ich glaube nicht, dass du das kannst. xterm
muss nicht überall installiert werden und ist es wahrscheinlich auch nicht standardmäßig. Vor allem, wenn eine Desktop-Umgebung verwendet wird, die ein eigenes Terminal bereitstellt.
Ich denke, Ihre beste Wahl ist wahrscheinlich, nach der Existenz einiger verschiedener Terminals zu suchen (z. B. xdg-terminal
, x-terminal-emulator
, gnome-terminal
, konsole
, xterm
). Und vielleicht daran arbeiten, xdg-terminal tatsächlich zu den FreeDesktop.org-Standards hinzuzufügen.
Dann werden Sie feststellen, dass verschiedene Terminals unterschiedliche Möglichkeiten zum Ausführen von Befehlen haben, und manchmal sogar unterschiedliche Versionen desselben Terminals … siehe z. B. Debian Bug #648271.
Sie sollten dem Administrator/Benutzer wahrscheinlich auch die Möglichkeit geben, einen benutzerdefinierten Befehl festzulegen. Es wird sicherlich gebraucht werden.