Komut satırından Başlangıç ​​Uygulamalarına bir komut dosyası nasıl eklenir? [çift]

19

Bir kabuk betiğim var. Komutumun başlangıç ​​sırasında otomatik olarak çalışacak şekilde yapılandırılmasını istiyorum. Bunu GUI'den nasıl yapacağımı biliyorum. Ama bunu terminalden yapmak istedim. Bunu nasıl yapabilirim?

Birincil araştırmada, dosyanın /etc/int.d/ dizinine taşınması gerektiğini gördüm. Ancak bu işlem sudo izni gerektiriyor. Süper kullanıcı izinleri olmadan bunu yapmak istedim.

Ayrıca, başlangıç ​​uygulamaları ile ilgili bazı ayarlara sahip ~/.config/autostart/ altındaki dosyaların bulunduğunu da öğrendim. Ama bunu başarmak için onları nasıl düzenleyeceğimi bilmiyorum.

Birisi bana bunu başarmak için kesin prosedürü söyleyebilir mi?

    
sordu Anonymous Platypus 18.03.2015 10:16

2 cevap

17

Komut satırından başlangıç ​​başlatıcısı nasıl ayarlanır?

Sorunuzda bahsettiğiniz gibi, komutlar, ~/.config/autostart 'e bir başlatıcı yerleştirerek oturum açmada çalıştırılabilir. Başlatıcı yalnızca bir komut dosyasını başlatmak için kullanıldığından, yalnızca oluşturulan "temel" masaüstü giriş anahtar kelimelerine ihtiyaç duyarsınız. co_de% dosyaları: en azından ihtiyaç duyacağınız anahtar kelimeler / satırlar:

[Desktop Entry]
Name=name
Exec=command
Type=Application

Başlatıcının otomatik başlatma işlevini etkinleştirirseniz / devre dışı bırakırsanız (isteğe bağlı) .desktop satırı otomatik olarak eklenecektir (varsayılan olarak X-GNOME-Autostart-enabled=true olarak ayarlanmıştır)

Gerekli alanlar hakkında daha fazla bilgi için burayı bulabilirsiniz.

Örnek komut dosyası

Komut satırından böyle bir başlatıcı oluşturmak için, başlatıcının adını ve bağımsız değişken olarak çalıştırılacak komutu alacak küçük bir betiğe ihtiyacınız olacaktır. Aşağıda böyle bir betik örneği.

Bunu komutla çalıştırırsam:

python3 '/path/to/script' 'Test' 'gedit'

Giriş yaptığımda X-GNOME-Autostart-enabled=true çalıştıran bir başlangıç ​​başlatıcısı oluşturur.
Başlatıcı, Dash & gt; Başlangıç ​​Uygulamaları:

Komut dosyası

#!/usr/bin/env python3
import os
import sys
home = os.environ["HOME"]

name = sys.argv[1]; command = sys.argv[2]

launcher = ["[Desktop Entry]", "Name=", "Exec=", "Type=Application", "X-GNOME-Autostart-enabled=true"]
dr = home+"/.config/autostart/"
if not os.path.exists(dr):
    os.makedirs(dr)
file = dr+name.lower()+".desktop"

if not os.path.exists(file):
    with open(file, "wt") as out:     
        for l in launcher:
            l = l+name if l == "Name=" else l
            l = l+command if l == "Exec=" else l
            out.write(l+"\n")
else:
    print("file exists, choose another name")

Boş bir dosyaya yapıştırın, gedit olarak kaydedin, komutla çalıştırın:

python3 /path/to/set_startupscript.py '<name>' '<command>'

Ne yapar?

  • Ad ve komutu argüman olarak alarak, set_startupscript.py 'de temel bir başlatıcı (daha fazla şeye ihtiyacınız yok, bir komut dosyası çalıştırıyor) oluşturur.
  • Adında bir başlatıcı zaten ~/.config/autostart olarak mevcutsa, bir ileti yazdırır:

    file exists, choose another name
    
verilen cevap Jacob Vlijm 18.03.2015 10:44
6

Bir cevap buldum

cd ~/.config/autostart/ . Otomatik başlat adlı bir klasörünüz yoksa, mkdir autostart ile bu ada sahip bir tane oluşturun.

Şimdi aşağıdaki dosyayı yourScript.sh.desktop

adıyla ekleyin.
[Desktop Entry]
Type=Application
Exec="/Your/location/to/theScript/yourScript.sh"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_IN]=AnyNameYouWish
Name=AnyNameYouWish
Comment[en_IN]=AnyComment
Comment=AnyComment

Bitti!

    
verilen cevap Anonymous Platypus 18.03.2015 10:36

Etiketlerdeki diğer soruları oku