Commande Bash pour ouvrir le terminal d'un système

Je fais un installateur Linux pour Zero-K, un jeu RTS open source (zero-k.info). Il utilisera zenity pour les dialogs mais pour que zenity soit installé. Comme beaucoup de personnes n'auront pas déjà zenity il doit être installé par le script.

Je ne voudrais pas installer quelque chose sur le système d'un user sans une ouverture de terminal et donner quelques commentaires. S'il n'y avait pas de commentaires, il pourrait sembler que rien ne se passait quand il est réellement occupé à installer des choses. Le problème est que le script devrait ouvrir xfce4-terminal ou gnome-terminal ou un autre terminal spécifique, ce qui signifie qu'il devra y avoir un script différent par DE.

Existe-t-il une command pour ouvrir quel terminal est utilisé par l'OS / DE sur lequel le script est utilisé?

Pour autant que je sache, xterm est l'émulateur de terminal standard pour le système X Window. Donc, il devrait être installé dans n'importe quel système Linux. Pour l'ouvrir avec une command en cours d'exécution, vous pouvez utiliser:

 xterm -e " command [args] " 

Voir aussi man xterm et xterm -help .

Si vous voulez vérifier l'existence d'autres émulateurs de terminal en dehors de xterm vous pouvez utiliser par exemple:

 if hash gnome-terminal 2>/dev/null; then #if gnome-terminal exists gnome-terminal -e " command [args] " elif hash konsole 2>/dev/null; then #if konsole exists konsole -e " command [args] " #check the existence of some other terminal emulators here else #you don't need to check the existence of xterm; this should be installed in any Linux like system xterm -e " command [args] " 

Debian et ses dérivés (Ubuntu, Mint, etc.) utilisent /usr/bin/x-terminal-emulator , un lien symbolique géré par le système alternatif de Debian pour qu'il pointe toujours vers l'émulateur de terminal préféré du système.

Cela ne vous aide pas avec RHEL, Fedora, Slackware ou bien d'autres dissortingbutions, mais vous pouvez d'abord vérifier l'existence de /usr/bin/x-terminal-emulator lors de l'implémentation de la réponse de Radu.