GNU/Linux >> Belajar Linux >  >> Linux

Apakah Terminal Gnome Merupakan Jenis Shell Non-login?

Menurut jawaban untuk Apa itu shell login dan non-login? di Ask Ubuntu, Terminal GNOME adalah jenis shell non-login.
Seperti yang ditunjukkan dalam buku yang sangat bagus, Panduan Praktis untuk Fedora dan Red Hat Enterprise Linux, Edisi ke-6 :

shell non-login interaktif mengeksekusi perintah dalam file ~/.bashrc. File ~/.bashrc default memanggil /etc/bashrc.

Akibatnya, /etc/profile tidak akan diproses di shell non-login. Namun, saya menemukan bahwa saya telah menambahkan jalur beranda Java ke PATH
variabel dan, ketika saya menggunakan Terminal GNOME dan mengeluarkan perintah java , semuanya berjalan dengan baik. Juga, nilai PATH variabel sama dengan nilai yang saya definisikan di /etc/profile .

Melihat fakta tersebut di atas, ada konflik, apa yang salah dengan pemahaman saya?

Jawaban yang Diterima:

Saat Anda masuk ke sesi x Anda melalui pengelola tampilan atau di tty, /etc/profile adalah (biasanya – tampaknya sedang dalam kasus Anda, meskipun beberapa shell grafis tidak membacanya) bersumber dari program shell Anda. Setelah itu, file lokal (saya berasumsi Anda menggunakan bash di sini) ~/.bash_profile , ~/.bash_login atau ~/.profile akan bersumber, dan variabel lingkungan apa pun yang ditentukan di sini akan menimpa /etc/profile untuk pengguna saat ini. Lingkungan ini diwariskan oleh shell apa pun yang Anda buka dalam sesi. Inilah sebabnya mengapa kami dapat mendefinisikan variabel lingkungan, seperti PATH Anda, dalam file-file ini.

Saat Anda membuka gnome-terminal, ya secara default yang memulai shell non-login, tetapi mewarisi lingkungan pengguna Anda yang sudah dimuat dari shell login atau shell grafis. Sejak ~/.bashrc bersumber ketika memulai shell interaktif (misalnya membuka terminal gnome), itu dapat digunakan untuk menimpa beberapa elemen lingkungan (seperti PS1).

(gnome-terminal itu sendiri adalah aplikasi, bukan shell)


Linux
  1. Kecepatan terminal:Bergerak cepat di cangkang Anda

  2. Bagaimana Menguji Shell Apa yang Saya Gunakan Di Terminal?

  3. Jenis Terminal Apa Yang Harus Didukung Jika Menerapkan Emulator Terminal??

  1. Linux – Terminal Gnome Gagal Memulai?

  2. Ubah tema terminal Gnome secara terprogram

  3. Cara membaca respons websocket di shell linux

  1. Perbedaan Antara Shell Login dan Shell Non-login?

  2. Mewarnai Lingkungan Terminal dan Shell Anda?

  3. Nonaktifkan warna di shell/terminal