Supponiamo che devo scrivere uno script che avvii un terminale ed esegua un comando e ho bisogno che funzioni su vari sistemi. Come posso farlo in modo sicuro e portatile?
È xterm
sempre installato? Presumo che qualsiasi * nix con una GUI debba avere un emulatore di terminale. Come posso arrivarci? I sistemi Debian hanno x-terminal-emulator
ma questo, a quanto pare, non funziona nemmeno in Red Hat, per non parlare di *nixes non Linux.
Risposta accettata:
Non credo che tu possa. xterm
non deve essere installato ovunque, e in effetti probabilmente non lo è per impostazione predefinita. Soprattutto quando è in uso un ambiente desktop che fornisce un proprio terminale.
Penso che la soluzione migliore sia probabilmente verificare l'esistenza di alcuni terminali diversi (ad esempio, xdg-terminal
, x-terminal-emulator
, gnome-terminal
, konsole
, xterm
). E magari lavorare per aggiungere effettivamente xdg-terminal agli standard di FreeDesktop.org.
Quindi scoprirai che terminali diversi hanno modi diversi per eseguire comandi e talvolta anche versioni diverse dello stesso terminale... ad esempio, vedi Debian Bug #648271.
Probabilmente dovresti anche dare all'amministratore/utente un modo per impostare un comando personalizzato. Sarà sicuramente necessario.