Saat membaca tentang Ubuntu saya menemukan pernyataan berikut .....
Jika manajer tampilan tidak dimulai secara default di runlevel default, Anda dapat memulai X dengan cara yang berbeda, setelah masuk ke konsol mode teks, dengan menjalankan startx dari baris perintah.
Apa artinya menjadi runlevel default? Dan ketika saya mencoba ini di terminal saya, saya mendapat ini:
anupam@JAZZ:~$ startx
X: user not authorized to run the X server, aborting.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Jawaban:
Sekali waktu (1), ketika memori komputer diukur dalam kilobyte dan disk dalam megabita, menjalankan antarmuka grafis sepanjang waktu dianggap berbahaya.
Sebagian besar komputer Unix digunakan untuk perhitungan ilmiah dan simulasi di lingkungan multi-pengguna, dan antarmuka grafis yang berjalan pada mereka akan mengurangi memori dan daya CPU yang tersedia untuk mereka.
Jadi ketika Anda membutuhkan antarmuka grafis, Anda baru saja memulainya dengan
startx
(2).startx
pada dasarnya menjalankan Xserver ("driver" grafis) dan perintah yang berjalan di atasnya, yang biasanya merupakan manajer jendela . Secara default perintah yang dijalankan ada dalam~/.xinitrc
file di direktori home Anda, atau beberapa file sistem generik sebaliknya.Sistem modern dianggap dari bawah ke atas untuk memiliki sistem grafis yang berjalan sepanjang waktu, jadi tidak ada yang mungkin memeriksa cara kerjanya
startx
selama berabad-abad - yang menjelaskan banyak perilaku aneh yang dapat Anda miliki.Jika Anda ingin bereksperimen dan merasakan masa lalu yang indah, hal terbaik adalah melakukan hal berikut:
A) instal
Xnest
danfvwm
. Xnest adalah server grafis dalam server, sejenis server yang akan terbuka sebagai jendela di sistem normal Anda. Fvwm adalah window manager yang sangat sederhana yang sangat populer saat itu. Anda juga akan membutuhkan font pixmap lama.B) menulis file ini di suatu tempat, misalnya di dir home Anda, dan menyebutnya
~/test
:C) Jalankan (perhatikan:
startx
biasanya dijalankan dengan pertama-tama perintah klien, kemudian tanda hubung ganda, dan kemudian perintah server. Seperti yang saya katakan, sebagian besar sistem baru tidak memiliki standar yang masuk akal untukstartx
sendirian.).... dan Anda memiliki layar workstation 80ies:
(Anda dapat memiliki menu dengan mengklik pada desktop "Xnest").
... dan jika Anda merasa sangat berani, Anda dapat memulai sesi asli pada konsol virtual lain (baca jawaban lain) dengan masuk ke salah satu dari mereka dengan Ctrl-Alt-F1, masuk, dan
yang biasanya akan terbuka pada Ctrl-Alt-F8.
Perhatikan : lingkungan desktop modern tidak dirancang untuk berjalan secara bersamaan, untuk pengguna yang sama, di dua konsol yang berbeda. Jadi jangan gunakan
gnome-shell
atauunity
atau hal-hal modern saat melakukan percobaan ini, atau Anda dapat mengacaukan konfigurasi Anda.Catatan kaki:
(1) Berbicara sekitar tahun 1980-90 di sini.
(2) Sebagai contoh, saya punya laptop dengan 256k RAM. Itu sangat lambat di antarmuka grafis (B&W!), Tapi tajam di konsol. Jadi saya melakukan sebagian besar pekerjaan saya (mengedit
C
,LaTeX
dan file serupa) dalam mode konsol, dan beralih ke lingkungan grafis hanya ketika benar-benar diperlukan.sumber
startx
memulai xsession atau antarmuka grafis di mana Anda melihat layar masuk dan apa pun yang lebih dari sekadar konsol ascii (sesi teks).Anda menerima kesalahan ini karena xsession sudah dimulai dan Anda mencoba menjalankan perintah dari dalam xsession pada tty7.
tty7 adalah antarmuka pengguna yang ada di ctrl+ alt+ f7(xsession default).
tty1 adalah antarmuka pengguna yang ada di ctrl+ alt+ f1.
tty2 adalah antarmuka pengguna yang ada di ctrl+ alt+ f2. . . dan seterusnya.
tty1 - tty6 adalah sesi teks dan Anda dapat masuk dengan nama pengguna dan kata sandi di salah satu layar ini. Setelah Anda masuk, Anda dapat menjalankan perintah
startx
dan xsession akan mulai di tty7 jika belum berjalan dan tty8 jika tty7 sudah menjalankan xsession.Tingkat Jalankan:
run-level 0 Stop - Menutup sistem.
run-level 1 Mode pengguna tunggal - Mode untuk tugas administratif.
run-level 2 Grafis multi-pengguna dengan jaringan - Memulai sistem secara normal.
run-level 3-5 Tidak digunakan tetapi dikonfigurasi sama dengan runlevel 2
run-level 6 Reboot - Reboot sistem.
Istilah runlevel mengacu pada mode operasi di salah satu sistem operasi komputer yang menerapkan inisialisasi gaya-V Sistem Unix. Secara konvensional, tujuh runlevel ada, berjumlah dari nol hingga enam; meskipun hingga sepuluh, dari nol hingga sembilan, dapat digunakan. S terkadang digunakan sebagai sinonim untuk salah satu level. Hanya satu "runlevel" yang dijalankan saat bootup - run level tidak dieksekusi secara berurutan, yaitu runlevel 2 ATAU 3 ATAU 4 dijalankan, bukan 2 dari 3 lalu 4. - en.wikipedia.org/wiki/Runlevel
sumber
unity
ataugnome-shell --replace
atau bahkangnome-panel
ataumetacity --replace
.Itu hanya berarti pada tty yang berbeda .
Mengutip pertanyaan terkait:
Secara default Ubuntu memiliki 7 tty.
1-6
hanya baris perintah,7
jalankan sesi X Anda (desktop grafis normal Anda).Untuk mengaksesnya, gunakan pintasan keyboard ini: Ctrl+ Alt+F1
(mengubah
F1
ke F1-F6 untuk mengakses terminal yang Anda butuhkan)Untuk kembali ke sesi X Anda (desktop normal), gunakan: Ctrl+ Alt+F7
after logging on to a text-mode console
berarti masuk ke tty yang berbeda dan mengetik perintah:sumber
Seperti yang dicatat Rmano, startx adalah pendekatan yang sangat lama. Jauh ketika ini digunakan, X11 biner diinstal setuid root.
Saya baru saja mencoba ini di VM dan memang,
startx
gagal seperti yang Anda jelaskan, secara default.chmod u+s /usr/lib/xorg/Xorg
perbaikan itu sekalipun.Saya tidak merekomendasikan menjadikan
Xorg
menjadi setuid root. Dunia telah pindah dari itu karena Alasan Baik. Tetapi jika Anda bermain-main dengan VM yang dibuang, itulah cara membuatstartx
pekerjaan.sumber
QEMU + Buildroot contoh minimal
Cara favorit saya untuk mempelajari apa yang dilakukan sesuatu adalah dengan membuat contoh minimal yang menjalankannya.
Di Ubuntu, ini sulit karena yang kedua
startx
mungkin bertentangan dengan desktop Anda saat ini./ubuntu//a/519164/52975 mengusulkan
Xnest
, tetapi dengan QEMU + Buildroot kita bisa menjadi lebih minimal dan membuat mikro distro dengan hanya X11 diinstal.Dengan cara ini, akan lebih mudah untuk memahami apa yang sedang terjadi.
Saya telah menggambarkan pembuatan distro di: /unix//a/306116/32558
Setelah Anda menjalankan gambar di QEMU, Anda mulai dengan shell TTY.
Lalu ketika Anda melakukannya:
itu memulai GUI X11:
Sekarang lihat sumber untuk
startx
di dalam distro itu, yang hanya berupa skrip shell.Ini adalah pembungkus sederhana di atas
/usr/bin/xinit
, dan yang lolos/etc/X11/xinit/xinitrc
kexinit
.Jika Anda membuka
/etc/X11/xinit/xinitrc
, ini berisi baris-baris berikut:jadi kita melihat bahwa itu dimulai:
twm
: window manager yang sangat sederhana dan lamaxclock
danxterm
yang kita lihat di layarSebab
/usr/bin/xinit
, kita bisa melakukan:yang mengatakan bahwa:
sumber