Mulai perintah linux dengan "su" dan variabel inline


0

Saya mencoba membuat profil mozilla untuk pengguna lain dari command line menggunakan su.

Ketika saya mencoba dari X, ini akan berhasil.

su myuser -c 'mozilla -CreateProfile newprofile'

Tetapi tujuan saya adalah untuk menanamkan ini ke skrip dan hanya akan dieksekusi dalam mode baris perintah. Jika saya mencoba ini, dari baris perintah, Ini juga berfungsi:

DISPLAY=1.0 mozilla -CreateProfile newprofile

Pertanyaannya adalah bagaimana menanamkan variabel "DISPLAY" dalam perintah "su", karena ini gagal:

su myuser -c 'DISPLAY=1.0 mozilla -CreateProfile newprofile'

Mengapa "linux" dalam judul jika Anda mengatakan Anda menjalankan SCO Unix?
— grawity

Jawaban:


1

Sudahkah Anda mencoba ini:

su myuser -c 'export DISPLAY=\"1.0\"; mozilla -CreateProfile newprofile'

Ini harus benar-benar diposting di superuser.com

Coba varian itu dengan keluar dari tanda kutip di variabel DISPLAY ...


Ya, saya sudah mencobanya. Gagal juga.

0

Ini bekerja untuk saya:

su sh -c 'DISPLAY=1.0  echo $DISPLAY'

apa sebenarnya kesalahan yang Anda dapatkan?


Sayangnya, ini tidak berhasil untuk saya. Mungkin karena OS saya - SCO Unix. Kesalahan hanya beberapa peringatan perl dari 'lokal', tapi saya mendapatkannya juga dalam mode X, jadi ini bukan alasannya. Perintah Mozilla selesai, tetapi tanpa membuat profil.
— user48777

1
SCO Unix? Menghormati.
— Janne Pikkarainen

0

Bagaimana dengan yang ini:

su myuser -c "sh -c 'DISPLAY=1.0 mozilla -CreateProfile newprofile'"

Tidak, gagal juga.
— user48777

Dan apa yang dikeluhkan?
— cYrus

Itu tidak mengeluh. selesai dengan rapi, tetapi direktori profil tidak dibuat. Sudahlah, saya memecahkan masalah. Terima kasih atas balasannya
— user48777


0
TEMPXAUTH=$(xauth nlist) su -c 'xauth nmerge <<< "$TEMPXAUTH" && mozilla -CreateProfile newprofile'

File sementara juga akan berfungsi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.