Saya menjalankan instalasi standar kurang lebih Ubuntu Precise 12.04 dan saya cukup puas dengan melakukan tugas sehari-hari dengan lingkungan desktop Unity.
Namun ketika berbicara tentang bermain, saya merasa jauh lebih nyaman dengan LXDE (latar belakang: dalam kondisi saat ini, Unity menghasilkan framerat yang jauh lebih rendah daripada misalnya Unity 2D atau LXDE - ini adalah bug yang dikenal dan sedang dikerjakan).
Untuk tujuan itu saya membuat profil pengguna gamer dan sekarang saya ingin membatasi untuk menggunakan lingkungan desktop LXDE saja.
Untuk menguraikan ini lebih lanjut: ketika diminta untuk masuk setelah boot saya hanya ingin LXDE muncul sebagai opsi untuk profil pengguna gamer di layar masuk sementara profil pengguna standar saya masih memiliki opsi untuk memilih lingkungan desktop mana yang akan digunakan.
Terima kasih sebelumnya atas segala wawasan yang mungkin bisa membantu!
sumber
Jawaban:
Oke, dari pemahaman saya tentang LightDM (manajer login) sepertinya tidak didukung untuk membatasi lingkungan desktop untuk pengguna tertentu . Ini adalah kesepakatan semua atau tidak sama sekali. Secara default, ketika pengguna memilih lingkungan desktop, itu akan menjadi lingkungan desktop default mereka. Ketika mereka login lain kali, kecuali mereka memilih yang lain, mereka akan login ke default mereka.
Namun, Anda dapat membuatnya agar pengguna tidak dapat mengubah ini. Pengguna ini masih dapat memilih lingkungan desktop yang berbeda, tetapi jika mereka melakukannya, itu tidak akan mengubah standarnya. Saya percaya ini adalah cara teraman untuk melakukan ini, jika Anda tidak khawatir orang itu akan mengubahnya. Yang harus Anda lakukan adalah mengedit
.dmrc
file mereka (terletak di direktori home mereka, yaitu / home / user). Di sinilah sesi default mereka disimpan. UbahSession
variabel dalam file itu menjadi apa pun yang Anda inginkan, yaituubuntu
Unity DE default,ubuntu-2d
adalah Unity 2D, danLXDE
LXDE. Untuk membuatnya jadi ini tidak akan diubah jika mereka masuk dengan DE lain, kita bisa membuatnya tidak berubah (tidak dapat diubah):Sekarang tidak ada yang dapat mengubah file itu (root dan program lain yang disertakan) kecuali Anda menghapus tanda yang tidak dapat diubah:
Jika Anda benar-benar TIDAK ingin pengguna ini pernah masuk dengan DE lain, saya menemukan cara yang benar-benar gila (yaitu melakukan ini dengan risiko Anda sendiri) untuk mencapai ini. Saya agak bosan dan sepertinya ini hal yang menyenangkan untuk dicoba. Semua DE berbeda yang bisa dilihat oleh LightDM disimpan
/usr/share/xsessions
sebagai.desktop
file. FYI, Anda dapat menghapus semua yang tidak ingin ditampilkan di layar masuk (tapi itu akan menghapusnya untuk SEMUA pengguna). Jika Anda membuka salah satu dari ini, mereka cukup mudah. Itu adalah file peluncur desktop dasar, sama seperti semua pintasan di desktop Anda. Masing-masing berisiExec
baris, yang akan dieksekusi ketika Anda memilih DE Anda di layar login (yaitu DE mana yang diluncurkan). Kami akan mengambil keuntungan dari ini dan memeriksa pengguna mana yang masuk. Jika pengguna adalah pengguna terbatas kami, kami akan memaksa mereka untuk menggunakan DE tertentu.Pertama, untuk setiap
.desktop
file di dalam,/usr/share/xsessions/
Anda harus membuat skrip/usr/local/bin
. Sebagai contoh saya, saya akan menunjukkan bagaimana melakukan ini untukubuntu.desktop
, yang merupakan Unity DE, dan menggunakan LXDE sebagai DE kita memaksa pengguna terbatas kami (pengguna terbatas) untuk menggunakan. Melihat LXDE.desktop, kita dapat melihat bahwaExec
perintahnya adalah/usr/bin/startlxde
dan tidak adaTryExec
perintah. Ketika Anda membukaubuntu.desktop
kita melihat bahwaExec
perintahnya adalahgnome-session --session=ubuntu
danTryExec
perintahnya adalahunity
. TheTryExec
perintah hanya apa yang terdengar seperti. Setelah menjalankanExec
perintah, itu akan mencoba menjalankanTryExec
perintah, tetapi jika gagal, itu tidak akan crash.Sekarang, dengan mengambil perintah yang kita dapatkan dari
.desktop
file, kita dapat membuat skrip kita. Kami akan menempatkan mereka di/usr/share/bin
. Kita perlu membuat dua, satu untukExec
dan satu untukTryExec
. Kami akan melakukan sesuatu seperti ini:ubuntude.sh
ubuntudetry.sh
Kami hanya menguji apakah orang yang masuk adalah pengguna terbatas kami, dan menjalankan DE yang sesuai. Sekarang, kita perlu memastikan mereka dapat dieksekusi:
Kita sekarang perlu mengubah kita
ubuntu.desktop
sehingga akan memanggil skrip kita, bukan DEs yang sebenarnya. KomentariExec
danTryExec
baris dalam file, dan ganti dengan ini:Cukup ulangi proses untuk DE lain yang mungkin Anda miliki. Jika tidak ada
TryExec
DE, maka tidak perlu membuat skrip detry.sh juga, karena LXDE tidak menggunakan aTryExec
. Jelas ini agak sedikit meretas, dan Anda harus memastikan bahwa Anda mencadangkan file apa pun sebelum mengeditnya, tetapi ini akan berfungsi jika Anda benar-benar perlu memastikan bahwa pengguna masuk ke DE yang benar.sumber
pada Debian Squeeze dan Wheezy Anda juga dapat menambahkan .xsessionrc dengan satu baris
ekspor STARTUP = XXX
(tempat XXX pada skrip sesi yang dipaksakan Anda lihat Exec-Line di atas) di direktori home pengguna untuk memaksa jenis sesi tertentu terlepas dari apa yang telah dipilih pengguna.
Seharusnya juga berfungsi di Ubuntu.
(Lihatlah /etc/X11/Xsession.d/40x11-common_xsessionrc dan 50x11-common_determine-startup untuk melihat, mengapa ini bekerja)
sumber
Jawaban dari reverendj1 tidak berfungsi untuk saya. Alasannya mungkin karena nilai yang Anda tentukan di Exec = tidak dieksekusi secara langsung, tetapi diteruskan ke / etc / X11 / Xsession sebagai argumen. (sumber: https://askubuntu.com/a/857420/873016 )
Solusi lain untuk masalah ini:
1. Cadangkan semua / usr / share / xsessions / .desktop file
2. Hapus semua / usr / share / xsessions / .desktop file
3. Buat hanya /usr/share/xsessions/default.desktop dengan
"default" adalah kata kunci untuk Xsession dan akan mencari sesi khusus di direktori pengguna.
4. Sekarang buat file /home/{username}/.xsession untuk setiap nama pengguna. Untuk aplikasi "mirip kios", ini akan terlihat seperti ini:
Jika misalnya pengguna lain harus diizinkan untuk memulai manajer desktop yang penuh sesak, itu bisa terlihat seperti ini:
Diuji pada ubuntu 16.04 dengan lightdm
sumber