Řekněme, že potřebuji napsat skript, který spustí terminál a provede příkaz, a potřebuji to k práci na různých systémech. Jak to mohu udělat bezpečným a přenosným způsobem?
Je xterm
vždy nainstalováno? Předpokládám, že každý *nix s GUI musí mít nějaký emulátor terminálu. Jak se k tomu dostanu? Systémy Debianu mají x-terminal-emulator
ale to zjevně nefunguje ani v Red Hatu, natož v nelinuxových *nixech.
Přijatá odpověď:
Myslím, že nemůžete. xterm
nemusí být instalován všude a pravděpodobně není ve výchozím nastavení. Zvláště když se používá desktopové prostředí, které poskytuje svůj vlastní terminál.
Myslím, že nejlepším řešením je pravděpodobně zkontrolovat existenci několika různých terminálů (řekněme xdg-terminal
, x-terminal-emulator
, gnome-terminal
, konsole
, xterm
). A možná pracovat na tom, aby byl xdg-terminál skutečně přidán do standardů FreeDesktop.org.
Pak zjistíte, že různé terminály mají různé způsoby spouštění příkazů a někdy dokonce různé verze stejného terminálu… např. viz Debian Bug #648271.
Pravděpodobně byste také měli dát správci/uživateli způsob, jak nastavit vlastní příkaz. Určitě to bude potřeba.