Beralih ke TTY lain setelah menjalankan startx dan kembali istirahat Xorg

8

Saya selalu ingin tahu tentang keanehan Xorg yang tampaknya terjadi pada setiap mesin yang saya coba; setiap kali saya memulai instance X baru pada TTY menggunakan startx secara manual (yaitu, tanpa bantuan manajer tampilan), beralih ke TTY lain, dan kemudian mencoba untuk kembali ke TTY asli saya, framebuffer X rusak dan saya turun ke shell asli saya dengan X masih berjalan. Memukul ^ C atau ^ D akan menghentikan X, tetapi saya harus menjalankan startx / xinit lagi, kehilangan sesi asli saya. Yaitu:

CTRL+ALT+F1
$ startx /usr/bin/xterm -- :1
CTRL+ALT+F7
CTRL+ALT+F1

Akan merusak buffer X saya di TTY1. Tampaknya aplikasi yang mengandalkan Wayland / Mir untuk komposisi menangani pergantian TTY seperti yang saya harapkan, tetapi untuk aplikasi yang menggunakan X yang tidak dimulai dengan manajer tampilan seperti LightDM, karena tidak dapat kembali ke sesi X, saya secara manual mulai adalah rasa sakit yang nyata. Apakah ada cara untuk memperbaiki masalah ini sehingga saya dapat kembali ke sesi X ketika saya mengganti TTY?

joshumax
sumber
Saya tidak mengerti. Anda tidak memiliki X pada tty1. Juga ctrl-alt-f7 adalah tty7 di mana sebagian besar waktu menjalankan X server. Anda perlu mengedit posting Anda agar lebih jelas. Jika Anda menggunakan 12,04, pasti Anda juga tidak menggunakan Wayland / Mir. Bahkan pada 15,04.
solsTiCe
@solsTiCe Tidak ada sesi X pada TTY1 sampai saya menjalankan startx untuk membuat satu di TTY1 ...
joshumax
@solsTiCe Saya khawatir saya tidak melihat ambiguitas dalam pertanyaan saya, dapatkah Anda menjelaskan apa yang mungkin tidak jelas?
joshumax
1
@solTiCe Saya tentu saja tidak, saya hanya bertanya tentang apa yang Anda temukan tidak jelas dalam pertanyaan saya sehingga saya bisa memperbaikinya?
joshumax
Untuk pertanyaan terkait, lihat askubuntu.com/questions/221762 dan askubuntu.com/questions/443418 .
JdeBP

Jawaban:

2

Ah, solusinya relatif sederhana, bukannya berjalan

$ startx /usr/bin/xterm -- :1

Lari

$ startx /usr/bin/xterm -- :1 vt$(tty | sed -e "s:/dev/tty::")

Akan mencegah X dari melanggar ketika saya beralih TTYs.

joshumax
sumber
... yang menunjukkan bahwa itu tidak benar-benar "istirahat", tetapi hanya berakhir di terminal virtual yang berbeda, yang tersedia terminal virtual pertama , yang bisa menjadi apa pun dari tty2ke tty63tergantung dari bagaimana sistem Anda kebetulan dikonfigurasi ketika datang ke maya penggunaan terminal. Tentu saja tty1tidak tersedia, karena Anda memiliki shell login yang sedang berjalan saat itu.
JdeBP
@ JdeBP Saya sudah bicara dengan orang-orang Xorg tentang ini, dan tampaknya tidak ada hubungannya dengan secara otomatis memilih terminal yang tersedia sama sekali - tetapi dengan mengirimkan parameter terminal virtual ke startx, startx akan menempatkan X ke "keadaan persisten "(seperti startx secara default meluncurkan sesi X non-persisten pada vt saat ini jika tersedia, dan segera gagal jika tidak bisa.
joshumax
-1 Saya pikir ada cara lain untuk melakukan ini dengan lancar. Saya pikir ini bukan cara untuk melakukan apa yang Anda lakukan.
Léo Léopold Hertz 준영
1
@Masi Mungkin Anda ingin menjelaskan mengapa Anda berpikir metode ini tidak begitu bagus dan menjelaskan cara yang lebih baik untuk mencapainya? Itu akan jauh lebih kebetulan daripada ambiguitas ini.
Seth