Spesifikasi XDG berbicara tentang XDG_CONFIG_HOME
variabel, tetapi tidak menentukan di mana ia harus didefinisikan. Haruskah kita mendefinisikannya /etc/X11/Xsession
, atau apakah itu file konfigurasi pengelola jendela yang perlu mendefinisikan ini?
Saya mencoba mendeklarasikannya di / etc / environment sebagai
XDG_CONFIG_HOME="$HOME/.config"
tetapi itu tidak berhasil, karena $ HOME tidak didefinisikan ketika /etc/environment
diuraikan.
Satu-satunya dokumentasi yang dapat saya temukan online adalah untuk Gentoo, di mana dinyatakan dalam /etc/env.d/90xsession
Saya menggunakan Ubuntu. Apa yang akan menjadi solusi umum untuk distro berbasis Debian?
/etc/profile
dalam Arch lagi, dan hanya sekali disebutkan dari/etc/profile.d/locale.sh
.Anda tidak perlu mendefinisikannya di mana pun, kecuali jika Anda ingin mengubah default.
Spesifikasi Direktori Dasar XDG dengan jelas mengatakan:
Jadi berlebihan untuk mendefinisikannya ke nilai default. Semua aplikasi yang patuh sudah akan digunakan
$HOME/.config
Tapi, jika Anda tidak ingin mengubah default dalam sistem Debian / Ubuntu, tempat terbaik adalah:
/etc/profile
~/.profile
sumber
XDG_CONFIG_HOME
akan membuat sedikit perbedaan, jika ada.XDG_CONFIG_HOME
tanpa mengikuti spesifikasi, dengan asumsi bahwa itu adalah Linux standar atau bahkan fitur Unix daripada bagian dari spesifikasi pihak ketiga.Saya telah menemukan bahwa itu bekerja paling baik untuk mengatur variabel lingkungan melalui PAM. Untuk distro Linux modern, ini berarti
/etc/environment
atau$HOME/.pam_environment
(lihatman pam_env
). Anda juga dapat mengaturnya/etc/security/pam_env.conf
menggunakan sintaks khusus. Inilah cara saya mengatur variabel XDG saya di/etc/security/pam_env.conf
.Sebelumnya saya akan mengatur variabel-variabel ini di
/etc/profile.d/custom.sh
. Namun, beberapa aplikasi memulai sebelum file itu dibaca. Beralih ke metode PAM memecahkan masalah untuk beberapa aplikasi yang berperilaku seperti ini.sumber
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
manaless
tidak menyadari spesifikasi dan default belum ditetapkan oleh distro saya.XDG_CACHE_HOME
ditentukan dan tidak kosong. Ini seharusnya menjadi:export LESSHISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}"/less/history
Untuk pengguna Zsh, tentukan di
.zshenv
file Andasumber