Linux Ubuntu altında açılışta otomatik olarak çalıştır [kapalı]


140

Ubuntu linux'umu her başlattığımda çalışacak bir programa ihtiyacım var. Bu yüzden başlangıç ​​programları listeme eklemem gerekir. Sadece bir sorun: Bunu terminalden yapmam gerekecekti.



23
@Flexo Bu yanıt, sağladığınız bağlantıların hiçbirinde mevcut değil. Bu soruya cevap ve +1
Francisco Valdez

2
Aslında, buradaki cevaba bu soruların ilkinden atıfta bulunulmaktadır.
Wilson F

4
Bunu yapmanın basit ve taşınabilir bir yolu için Cron'u kullanabilirsiniz. crontab -eKullanıcınızın crontab'ını düzenlemek için çalıştırın ; her önyüklemede @reboot commandçalıştırmak commandiçin ekleyin .
appas

2
Ben onun bir kopya olup olmadığını bilmiyorum ama ilk google hit olduğunu ..
Vladimir verleg

Yanıtlar:


178
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

Komut dosyası şimdi önyüklemede başlamalıdır. Bu yöntemin hem sabit bağlantılar hem de sembolik bağlantılar ( ln) ile birlikte çalıştığını unutmayın .

Düzenle

Önyükleme işleminde bu noktada PATH henüz ayarlanmadığından, mutlak yolların baştan sona kullanılması önemlidir. AMA, Steve HHH tarafından yapılan yorumlarda belirtildiği gibi /etc/init.d/filename, update-rc.d komutu için tam dosya yolunu ( ) açıkça beyan eden Linux'un çoğu sürümünde geçerli değildir. Update-rc.d için manpage başına ikinci parametre, içinde bulunan bir komut dosyasıdır /etc/init.d/*. Bunu yansıtacak şekilde yukarıdaki kod güncellendi.

Başka Bir Düzenleme

Ayrıca yorumlarda belirtildiği gibi (Charles Brandt tarafından), /filenamebir init stili komut dosyası olmalıdır. İyi bir şablon da sağlandı - https://github.com/fhd/init-script-template .

Olası bağlantı çürümesinden kaçınmak için başka bir makaleye başka bir bağlantı (GitHub ölürse üzücü olsa da) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts

Diğer Düzenleme

Yorumlarda belirtildiği gibi (Russell Yan tarafından), Bu sadece update-rc.d'nin varsayılan modunda çalışır.

Update-rc.d kılavuzuna göre, "eski modu kullanan makinelerde bir dosya olacaktır" şeklinde iki modda çalışabilir, /etc/init.d/.legacy-bootorderingbu durumda sıra ve çalışma seviyesi yapılandırmasını komut satırı argümanlarından geçirmeniz gerekir.

Yukarıdaki örnek için ayarlanan eşdeğer argüman

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .


1
Tıpkı bir FYI gibi, “varsayılanlar” seçeneği, komut dosyasını 2, 3, 4 ve 5 çalışma seviyelerinde başlatmak için bir bağlantı koyar (ve 0, 1 ve 6'da durmak için bir bağlantı koyar)
Dave Lasley

5
Bunu sadece Ubuntu Server 12.04 LTS'de denedim, ancak 12.04'te /etc/init.d önekine sahip olamazsınız. Sadece sudo update-rc.d filename defaults.
Steve HHH

1
@puk Hem sabit bağlantılar hem de sembolik bağlantılar bu yöntemle çalışacaktır
Dave Lasley

14
Sadece bu durumda / dosya adını eklemek istedim init tarzı bir komut dosyası olmalıdır. İşte kendi özel başlatma komut dosyanızı başlatmak için bir şablon: github.com/fhd/init-script-template
Charles Brandt

1
Bunu okumak - unix.stackexchange.com/questions/28679/… - yanıtı ile birlikte yardımcı olacaktır
Arjun Sreedharan
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.