LightDM Kullanıyorsan Neden .xprofile
Kullanmalısın?
Arch Linux ya da diğer Linux dağıtımlarında masaüstü ortamını başlatmak için ~/.xinitrc
dosyasını mı düzenliyorsun ama hiçbir şey çalışmıyor mu? 🤔
Bu durumun tek bir sebebi olabilir: LightDM veya benzeri bir Display Manager kullanıyorsun ve .xinitrc
dosyan hiçbir işe yaramıyor! Bu yazıda, .xinitrc
ile .xprofile
farkını detaylıca inceleyecek ve neden .xprofile
kullanman gerektiğini adım adım göstereceğiz.
.xinitrc
ve .xprofile
Nedir?
.xinitrc
Dosyası Ne Yapar?
.xinitrc
, klasik olarak startx
komutu kullanılarak masaüstü ortamı başlatıldığında devreye girer. Genellikle şu durumlarda kullanılır:
- Oturumu
tty
üzerinden manuel başlatanlar - Hafif sistemler (Display Manager kullanmayanlar)
- Tam kontrol isteyen minimalist kullanıcılar
Örnek bir .xinitrc
içeriği:
#!/bin/bash
xsetroot -cursor_name left_ptr &
exec i3
.xprofile
Dosyası Ne İçin Kullanılır?
.xprofile
, GUI oturumlarını otomatik olarak başlatan Display Manager’lar tarafından çalıştırılır. Özellikle şu durumlar için kullanılır:
lightdm
,gdm
,sddm
gibi display manager kullanan sistemler- Ortam değişkenleri (
PATH
,XCURSOR_PATH
), oturum başlangıç uygulamaları (numlockx
,dunst
vs.) - Arka plan servisleri (
mpd
,ssh-agent
gibi)
LightDM .xinitrc
'yi Neden Yoksayar?
Display Manager'lar (özellikle LightDM):
- Oturumu kendi başına başlatır
~/.xinitrc
'yi çalıştırmaz- Sadece
~/.xprofile
,~/.xsession
,~/.pam_environment
gibi dosyalara bakar
Yani, .xinitrc
dosyasına ne yazarsan yaz, LightDM onu okumaz.
Bu nedenle başlangıçta çalışmasını istediğin tüm komutları .xprofile
içine taşımalısın.
Uygulamalı Senaryo: .xprofile
ile Doğru Başlatma
Aşağıdaki örnek .xprofile
dosyası:
#!/bin/bash
# Ortam değişkenleri
export XCURSOR_PATH="$HOME/.local/share/icons:$HOME/.icons:/usr/share/icons"
# Arkaplan servisleri
pgrep -x "mpd" > /dev/null || setsid mpd &
setsid xscreensaver &
setsid dunst &
# SSH agent
eval "$(ssh-agent -s)" 2>/dev/null || true
# Nvidia ayarları
nvidia-settings --load-config-only --config "$HOME/.config/.nvidia-settings-rc" &
# i3 pencere yöneticisi
exec dbus-launch --sh-syntax --exit-with-session i3
Yukarıdaki komutları .xinitrc
içinde tuttuğun sürece hiçbir şey olmayacak. Ama .xprofile
içine koyarsan her şey sihir gibi çalışacak! 🪄
Adım Adım Geçiş: .xinitrc
→ .xprofile
.xinitrc
içeriğini analiz et- Ortam değişkenlerini ve servis başlatmalarını
.xprofile
içine taşı exec
komutlarını yalnızca bir kere yaz (iç içe çağırma yapma).xinitrc
dosyasını temizle veya sil (isteğe bağlı)
Sık Yapılan Hatalar
.xprofile
içindesource ~/.xinitrc
yapmak vexinitrc
içinde tekrarexec i3
yazmak → Çift başlatma hatası.xinitrc
'ye sadeceexport
komutları yazmak → Hiçbir şey çalışmaz.xprofile
'ı çalıştırılabilir yapmamak →chmod +x ~/.xprofile
Özet: Hangi Dosyayı Ne Zaman Kullanmalısın?
Durum | Doğru Dosya |
---|---|
startx ile oturum açıyorsan |
.xinitrc |
LightDM gibi bir DM varsa | .xprofile |
Sistem genel ortam değişkenleri | /etc/environment |
Sonuç ve Çağrı: Hangisini Kullanacağını Biliyor musun?
Artık .xinitrc
ile .xprofile
arasındaki farkları biliyorsun. Display Manager kullanıyorsan, tüm başlangıç komutlarını .xprofile
dosyana taşı.
Bu sayede başlatılamayan servisler, çalışmayan tema ayarları, eksik ikonlar gibi dertlerden kurtul!
👇
Sen de .xinitrc
mi yoksa .xprofile
mi kullanıyorsun? Deneyimlerini yorum olarak paylaş!
Soruların varsa da çekinmeden yaz! 💬
Fediverse Yorumları
Mastodon'da Görüntüle