Bir betiği sadece Windows'taki .exe dosyalarını çift tıklatarak yürütmek nasıl?


116

Bir bash betiğini .exeWindows'taki gibi dosyaları çift ​​tıklatarak nasıl çalıştırabilirim ? Bir başlatıcı oluşturmayı ve komut dosyasını ona atamayı denedim , ancak iki sonucu var:

  1. terminal göz kırpıyor, kayboluyor ve hiçbir şey yapılmadı.
  2. Çalışabilmek için terminalde çalışmayı belirtmelisiniz.

Tomcat'i, komut dosyasındaki tüm tomcat bağımlılıkları da dahil olmak üzere çevrimdışı bir bilgisayara yükleyen bir komut dosyası var. Komut dosyasını Windows gibi çift tıklatma üzerinde çalışmam gerekiyor, çünkü komut dosyasını kullanan çoğu Ubuntu ile aşina olmayacak.

Yukarıdaki açıklamayı unut. Terminal kullanmadan, üzerine çift tıklayarak çalıştırılabilen bir script yapmak istiyorum. Nasıl bilen var mı?


Sanırım sadece masaüstü dosyanızı zayıf yazıyor olabilirsiniz. Yazdığınız .desktop başlatıcısını ( verbatim ) gönderebilir misiniz?
Jjed

Ayrıca, bunu gördün mü? askubuntu.com/q/34597/24694
Jjed

Bu sadece onun için büyük bir fikir değil yapmak için isim ve komut atadığınız bir başlatıcısı

3
muru beni bunun için uyardı, benim için çalıştı: askubuntu.com/questions/286621/…
draoi 16:15

1
Gelecekteki ziyaretçiler için FYI: Ubuntu'daki varsayılan dosya yöneticisi Nautilus, görünüşte 2019'da yeni sürümlerde çalıştırılabilir olanları güvenlik açığı nedeniyle çalıştırabiliyor. Konu ve kod ile ilgili makale GitLab’a tartışma ile bağlıyor
Sergiy Kolodyazhnyy

Yanıtlar:


134

Bunu test ettim ve iyi çalıştı. Komut dosyanızın doğru shebang ile başladığından emin olun , örn #!/usr/bin/env bash.

Sonra şu adımları izleyin:

  • Bir komutu çalıştırmak için Alt+ F2tuşuna basın .
  • Yaz dconf-editorve vur Enter.
  • Dconfg-editörüne gidin: org ➤ gnome ➤ nautilus ➤ preferences
  • executable-text-activationAçılır menüden üzerine tıklayın ve seçin:

    Başlat : komut dosyalarını program olarak başlatmak için.
    VEYA
    sor : bir diyalog yoluyla ne yapılacağını sormak için.

    ekran görüntüsü

  • Dconf-editor'ü kapatın. Bu kadar!

Terminali kullanarak alternatif yol: Çalıştır:

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

Not : Dosya çalıştırılabilir olmalıdır. Dosyanın iznini de değiştirmeniz gerekebilir. Sağ tıklayın ve "Dosyayı program olarak çalıştırmaya izin ver" ayarını yapın

ekran görüntüsü

Kaynak .


Bu harika çalıştı. Sadece bir not, sağ altta listelenen değere tıklanarak " executable-text-activationvarsayılan menüye" ulaşılır (varsayılan değer display).
ryanjdillon

5
Uygulamayı çağıramayanlar için, önce onu yüklemeniz gerekirsudo apt-get install dconf-editor
whale_steward 14:15

1
Bu, Masaüstünde hariç her yerde çalışır. Masaüstünde de çalışmasını nasıl sağlayabilirim? Xubuntu 14.10 kullanıyorum.
shrx

Bunu LXDE'de (Lubuntu için) yapmanın bir yolu var mı?
childofsoong

Bu, slax unix altında harika çalışıyor - gerçek bir Unix sistemi için başlatabileceğiniz gerçek Unix sistemi için slax.org'u görün .
raddevus

74

Nautilus'a (AKA Dosyaları)

  1. Dosyalara Git ( Birliği Düzenle (17.04 veya altı))> Tercihler> Davranış sekmesi

    ekran görüntüsü

  2. Yürütülebilir metin dosyasının ayarlarını değiştirin.

    ekran görüntüsü


3
Şimdi 'Dosyalar -> Tercihler'. (17.04)
salı

Tatlı! Gitmenin yolu.
Codepleb

Çıktı nasıl görülebilir?
Amr Lotfy

10

Ubuntu ve tüm Unix tabanlı işletim sistemlerinde, afaik, hiçbir şey varsayılan olarak çalıştırılabilir olarak ayarlanmaz. Bunu yapmanın iki yolu var.

  1. Çalıştırmak istediğiniz komut dosyasına veya dosyaya sağ tıklayın. Özellikler'e, ardından İzinler Sekmesine gidin. Çalıştır yazan onay kutusunu tıklayın.

  2. Bir Terminali cddosyanın bulunduğu dizine açın . Yazın . Bu dosyayı çalıştırmak için ayarlayacaktır.chmod ugo+x filename

Artık kullanıcılarınız kalp içeriklerine çift tıklayabilir.


2
Yine de size terminalde veya ekranda koşmak veya

Sadece bu cevap masaüstü dosyasını çalıştırılabilir yapmak için Gnome Ubuntu 17.04 üzerinde çalıştı
Kunok

Bu dosyayı çift tıklatmak yerine terminalde çalıştırmak içindir.
DimiDak

8

Bir * .desktop dosyası oluşturmanın burada eksik olduğunu düşünüyorum :

$ 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;

Bir komut dosyası için birden fazla * .desktop dosyası oluşturursanız , farklı parametreleri ileterek birden çok yapılandırma oluşturabilirsiniz ; bu, çok rahat ve kullanıcı dostu bir yoldur.


1
Ubuntu için bu en iyi cevap. Eğer (veya muhtemelen? Do) belirtmeniz gerekir unutmayın Terminal=Trueve Exec=gnome-terminaltam anlamıyla ... bir terminal penceresi içinde çıktısını görmek istiyorum bir komut dosyası için bir kısayol oluşturma sürece Ayrıca işaret edebilir unutmayın Iconne olursa olsun geleneklere isteyebilir png ...
BuvinJ

6

XFce kullanıyorsanız, bu komutu çalıştırarak Thunar'da komut dosyasını çalıştırabilirsiniz:

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

veya gui kullanarak xfce4-settings-editorve aynı özellikleri yaratarak.

Çalıştırın xfce4-settings-editorve sonra girin:

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

  • Boole

  • DOĞRU

xfce4-settings-editor resmi


İşte Thunar'da özel eylemlerle bu amaca nasıl ulaşılacağı hakkında (bu "riskli" özelliği yeniden etkinleştirmeden).
cipricus

Ayrıca burada Zenity kullanmak ve bir soru nasıl "Düzenle veya Run?"
cipricus

2

3 puan kontrol etmelisiniz:

  • Nautilus / Nemo konfigürasyonu: https://askubuntu.com/a/286651/301025
  • Komut dosyası çalıştırılabilir olmalıdır : https://askubuntu.com/a/275714/301025
  • Dosya sistemi yürütülmesine izin vermelidir :

    1. Tip mountbir konsol içinde
    2. Dosya sisteminizde noexecbayrak olup olmadığını kontrol edin
    3. noexecBayrağı düzenleyerek kaldırın ve /etc/fstabdeğiştirilen sistemi yeniden bağlayın (örn. Yeniden başlatma işleri)

1

Masaüstünde bir SHEL betiğine bir lansman oluşturduğunuzda veya Ne olursa olsun, komut satırında, arka planda çalıştırılacak olan betiği işaretlemeyi unutmayın.

Senaryo işi bitirdiğinde senaryo ölecek.


1
bunu yaptım ama terminal hangi prob sadece

1

Dayanarak umaskVarsylan değeri, varsayılan olarak dosyaları için yürütme izinleri değil ve yürütme izinleri kazanmak için mod değiştirmeli, böyle bir şey:

chmod u+x filename

1
Broth Ali eminim bunu yapmak apaçık

0

Thunar hakkındaki cevabın bir tamamlayıcısı olarak : Bu cevap, Thunar'ın önceki bir özelliğini çift tıklamayla komut dosyası yürütmek üzere yeniden etkinleştirir. Ancak bu özellik bir güvenlik riski olarak kabul edildi.

Bundan kaçınmak için, belki de en şık çözüm, "Bu dosya ile ne yapmak istiyorsun: Çalıştır veya düzenle?" (PCManFM ve Nemo gibi diğer dosya yöneticilerindeki gibi) bu dosyaya tıklandığında - Zenity kullanarak: burada .


Alternatif , Thunar'ın sahip olabileceği en iyi özellik olan özel eylemler olabilir .

Yürütülebilir bir metin dosyasını çalıştırmak için kullandığım komut sh -c %f"Çalıştırma / Yürütme komut dosyası" adlı özel bir eylemdir.

görüntü tanımını buraya girin

Görünüm koşulları sadece "metin" dir:

görüntü tanımını buraya girin

Benzer bir komut, Xfce4 terminalini açık tutarken terminalde böyle bir betiği çalıştırmak için ("Terminalde çalıştır") kullanılabilir:

xfce4-terminal -H -x %f

görüntü tanımını buraya girin

İsteğe bağlı olarak ve belki de tercihen, çalıştırılabilir olanlar hariç tüm metin dosyaları için bu tür seçenekleri gizlemek için , "Görünüm koşulları" altındaki .shdosyaların (veya .pydurum varsa, vb.) Görünüm kullanımını kısıtlamanın bir yolu vardır :

görüntü tanımını buraya girin

- yürütülebilir dosyaları buna göre yeniden adlandırmadan önce.


-1

Özellikle Android Studio için Özgün cevabımı buradan takip edebilirsiniz :

Masaüstü Başlatıcısı Oluşturmak İçin:

  • Tıklayın Create Desktop Entry..gelen Araçlar menüsünden.

görüntü tanımını buraya girin

  • Şifre istenecek, mevcut giriş bilgilerinizin şifresini girin.

  • Sonunda şöyle Android Studio ekranda bildirim olacak:

görüntü tanımını buraya girin

  • Sen görebilirsiniz Applications => Programlama => Android Studio ve ayrıca sistemin yeniden başlattıktan sonra masaüstünde görebilirsiniz.

Teşekkür ederim. :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.