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'
pengguna48777
sumber
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 ...

t0mm13b
sumber
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?

ennuikiller
sumber
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'"
cYrus
sumber
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

Terpecahkan:

su - -c 'DISPLAY=1.0 mozilla -CreateProfile newprofile' myuser
pengguna48777
sumber
0
TEMPXAUTH=$(xauth nlist) su -c 'xauth nmerge <<< "$TEMPXAUTH" && mozilla -CreateProfile newprofile'

File sementara juga akan berfungsi.

grawity
sumber