GNU/Linux >> Belajar Linux >  >> Linux

Bukankah $home Seharusnya Menjadi Lokasi Direktori Beranda Pengguna?

Saya mengalami masalah dengan aplikasi web yang saya tulis:Aplikasi web, yang berjalan sebagai pengguna nobody , perlu meluncurkan inkscape proses untuk memanipulasi beberapa file SVG. Karena ini berjalan sebagai pengguna nobody , tidak ada direktori home. Apa yang saya lakukan adalah membuat direktori sementara di bawah /tmp dan mencoba mengaturnya sebagai direktori home melalui export HOME=/tmp/someUniqueId . Saya kemudian mengatur beberapa hal di direktori home "sementara" itu, seperti symlink .fonts ke folder untuk file font yang akan digunakan.

Saya tahu ini berfungsi untuk menemukan ~/.fonts direktori. Tetapi ketika saya meluncurkan Inkscape, yang saya dapatkan hanyalah pesan bahwa Inkscape tidak dapat membuat .inkscape direktori:

Bukan $HOME atur lokasi direktori home saya? Mengapa Inkscape masih mencoba mengakses / sebagai direktori home saya?

Jawaban yang Diterima:

Inkscape, sebagai aplikasi GTK, menggunakan fungsi GLib g_get_home_dir untuk menemukan direktori home pengguna. Seperti yang didokumentasikan dalam tautan itu, g_get_home_dir tidak berkonsultasi dengan $HOME , melainkan /etc/passwd . Anda harus menambal Inkscape untuk memeriksa $HOME pertama (seperti yang ditunjukkan pada tautan itu).


Linux
  1. Bagaimana Cara Menginstal R 3.3.1 Di Direktori Sendiri?

  2. Mengapa '~' Dipilih Untuk Mewakili Direktori Rumah?

  3. Cara Tercepat Untuk Mengekstrak Iso?

  1. Apakah Mungkin Untuk Mendefinisikan Ulang Tilde ('~', Direktori Rumah)?

  2. Bagaimana Cara Aman Mengubah Lokasi Direktori Data MySQL/MariaDB di Server cPanel/WHM?

  3. The Magic ~:Ekspansi Bash Tilde dengan 5 Contoh

  1. Ssh Dan Izin Direktori Rumah?

  2. Apa tujuan dari file .bash_profile di bawah Direktori Beranda Pengguna Di Linux?

  3. Wayang:Dapatkan direktori home pengguna