Berjalan screen
di bash menghapus variabel LD_LIBRARY_PATH. Saya sudah melakukan beberapa bacaan dan sepertinya ini perilaku yang diharapkan, tetapi saya perlu menyiasatinya.
Solusinya adalah menambahkan deklarasi LD_LIBRARY_PATH ke ~/.bashrc
. Dalam kasus saya, LD_LIBRARY_PATH akan banyak berubah antara peluncuran shell dan ketika aku memanggil layar, jadi saya perlu untuk mendapatkan saat ini nilai LD_LIBRARY_PATH ke screen
sesi.
bash
environment-variables
gnu-screen
Andrew Wood
sumber
sumber
Jawaban:
screen
tidak menghapus variabel lingkungan; itu dihapus oleh Linux itu sendiri.Pada kebanyakan sistem,
/usr/bin/screen
executable diinstal dengan bit setgid untukutmp
grup, agar dapat memodifikasiutmp
database. Ini juga menggunakan setgid untuk mengontrol akses ke direktori socket (/var/run/screen/
).Di Linux, ketika program setuid (atau setgid ) dijalankan, ia tidak menerima variabel lingkungan tertentu (termasuk
LD_LIBRARY_PATH
, beberapaLD_*
variabel lain , danHOSTALIASES
), untuk mengurangi kemungkinan titik serangan: Jika tidak, Anda bisa menulis perpustakaan kecil dan triksu
atausudo
untuk memanggil fungsi "ditingkatkan" Anda dengan cara itu.Anda dapat menghapus bit setgid dari
screen
, tetapi Anda harus membuat direktori socket sepenuhnya dapat diakses oleh semua orang (mode 0777). Namun, itu seharusnya tidak menjadi risiko keamanan, sepertiscreen
juga memeriksa UID sang guru itu sendiri.Namun, Anda tidak harus membuat
utmp
database bisa ditulis oleh dunia.sumber
chgrp root $(which screen)
danchmod 777 /var/run/screen
. Anda dapat menguji dengan skrip bash kecil ini:while true; do echo $LD_LIBRARY_PATH; sleep 2; done
Anda akan melihat bahwa path berhasil ditampilkan. Terima kasih grawity.Di Anda
.screenrc
, Anda dapat menggunakansetenv
perintah untuk menetapkan nilai di lingkungan layar.Ini diatur sebelum shell Anda dimulai. Jelas
LD_LIBRARY_PATH_SCREEN
perlu diatur sebelum Anda memulai layar.sumber
_SCREEN
dapat diatur dalam file rc Anda atau dalam skrip wrapper yang memulai layar.Cobalah
export
variabel lingkungan yang Anda minati.sumber