it-swarm.dev

Jak spustit skript pouhým poklepáním na podobné soubory .exe ve Windows?

Jak mohu udělat bash skript spustitelný dvojitým kliknutím stejně jako .exe soubory ve Windows? Zkusil jsem vytvořil launcher a přiřadil skript , ale to má dva důsledky:

  1. terminál bliká, zmizí a nic se neděje.
  2. abyste mohli pracovat, musíte určit, že se má spustit v terminálu.

Mám skript, který nainstaluje Tomcat do offline počítače, včetně všech závislostí Tomcat ve skriptu. Potřebuji, aby skript fungoval na dvojité kliknutí jako okna, protože většina, kdo používá skript, nebude s Ubuntu dobře obeznámena.

Zapomeňte na výše uvedené vysvětlení. Chci vytvořit skript, který lze spustit dvojitým kliknutím na něj, bez použití terminálu. Někdo ví jak?

125
user61928

Testoval jsem to a fungovalo to dobře. Zajistěte, aby váš skript začínal správným Shebang , např. #!/usr/bin/env bash .

Potom postupujte takto:

  • Udeřil Alt+F2 spustit příkaz.
  • Zadejte dconf-editor a zasáhl Enter.
  • V editoru dconfg přejděte na: org ➤ gnome ➤ nautilus ➤ preferences
  • Klikněte na executable-text-activation az rozbalovací nabídky vyberte:

    launch : pro spuštění skriptů jako programů.
    NEBO
    ask : zeptat se, co dělat pomocí dialogu.

    screenshot

  • Zavřete editor dconf. A je to!

Alternativní způsob, pomocí terminálu: Spustit:

gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'

Poznámka : Soubor by měl být spustitelný. Možná budete muset změnit oprávnění souboru. Klikněte pravým tlačítkem a nastavte "Povolit spouštění souboru jako program"

screenshot

Zdroj .

140
stevenmc

Na Nautilus (soubory AKA)

  1. Přejít na soubory ( Úpravy na jednotě (17.04 nebo nižší))> Předvolby> karta Chování

    screenshot

  2. Změňte nastavení spustitelného textového souboru.

    screenshot

80
Anon

V Ubuntu a všech unixových operačních systémech afaik není ve výchozím nastavení nic nastaveno jako spustitelné. Existují dva způsoby, jak toho dosáhnout.

  1. Klikněte pravým tlačítkem na skript nebo soubor, který chcete spustit. Přejděte na Vlastnosti a poté na kartu Oprávnění. Zaškrtněte políčko Spustit.

  2. Otevřete terminál cd do adresáře, kde je soubor nalezen. Zadejte chmod ugo+x filename. Tím nastavíte spuštění souboru.

Nyní mohou uživatelé dvakrát kliknout na obsah svých srdcí.

10
SomKit

Myslím, že vytvoření souboru *. Desktop zde chybí:

$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$Shell'"
Categories=Application;

Pokud vytvoříte více než jeden soubor *. Desktop pro jeden skript, můžete vytvořit více konfigurace předáním různých parametrů, což je velmi pohodlný a uživatelsky přívětivý způsob.

9
h0ch5tr4355

Pokud používáte XFce, můžete skript spustit v Thunaru provedením tohoto příkazu:

xfconf-query --channel thunar --property /misc-exec-Shell-scripts-by-default \
             --create --type bool --set true

nebo pomocí gui xfce4-settings-editor a vytvoření stejných vlastností.

Spustit xfce4-settings-editor, poté zadejte:

  • /misc-exec-Shell-scripts-by-default

  • Boolean

  • SKUTEČNÝ

picture of xfce4-settings-editor

6
jcubic

Musíte zkontrolovat 3 body:

  • Konfigurace Nautilus/Nemo: https://askubuntu.com/a/286651/301025
  • Soubor skriptu musí být spustitelný : https://askubuntu.com/a/275714/301025
  • Systém souborů musí umožnit provedení :

    1. Do konzoly zadejte mount
    2. Zkontrolujte, zda váš souborový systém má příznak noexec
    3. Odstraňte příznak noexec úpravou /etc/fstab a znovu připojte upravený systém (např. restartování funguje)
2
sangorys

Jako doplněk k odpověď na Thunar : tato odpověď by znovu umožnila předchozí funkci Thunaru provádět skripty dvojitým kliknutím. Ale tato vlastnost byla považována za bezpečnostní riziko.

Aby se tomu zabránilo, možná nejelegantnějším řešením je získat vyskakovací okno s otázkou typu „Co chcete s tímto souborem: Spustit nebo upravit?“ (podobně jako v jiných správcích souborů, jako jsou PCManFM a Nemo), když kliknete na tento soubor - pomocí Zenity: zde .


Alternativou by byly vlastní akce , možná nejlepší funkce, kterou má Thunar.

Příkaz, který používám pro spuštění spustitelného textového souboru, je sh -c %f pro vlastní akci nazvanou "Spustit/spustit skript".

enter image description here

Podmínky vzhledu jsou jednoduše „text“:

enter image description here

Podobný příkaz lze použít pro spuštění v terminálu takový skript ("Run in terminal"), při zachování terminálu Xfce4 otevřeného:

xfce4-terminal -H -x %f

enter image description here

Chcete-li tyto možnosti skrýt pro všechny textové soubory, s výjimkou spustitelných souborů, volitelně a pokud možno nejlépe, je možné omezit použití vzhledu na .sh soubory (nebo .py soubory, pokud se jedná o případ atd.) v části „Podmínky vzhledu“:

enter image description here

- před odpovídajícím přejmenováním spustitelných souborů.

1
cipricus

Když vytvoříte spuštění na ploše pomocí skriptu SHELL nebo Ať už v příkazovém řádku, nezapomeňte signalizovat skript, který bude proveden na pozadí.

Když skončí, skript zemře.

Na základě výchozí hodnoty umask jste ve výchozím nastavení neprovedli oprávnění pro soubory a musíte změnit mod, abyste získali oprávnění ke spuštění, například takto:

chmod u+x filename
1
Ali Dehghani