Saya menjalankan XFCE 4.12 dengan 3 monitor diatur ke dalam dua layar X dan dua kartu video pada komputer yang sama. Dua monitor membentuk layar X tunggal menggunakan fungsi nvidia twinview, yaitu Screen0 pada Device0 pada konfigurasi Xorg. Monitor ke-3 adalah untuk layar kedua yaitu Screen1 pada Device1 pada konfigurasi Xorg. Saya dapat menyeret windows dengan baik di antara monitor di Screen0. Saya juga bisa menggerakkan mouse saya dengan bebas antara Screen0 dan Screen1 dan bahkan data clipboard dilakukan antara dua layar X ok.
Kedua layar X ini bertindak sebagai desktop independen yang memiliki set viewports sendiri. Saya suka cara ini dan berguna untuk membuat satu sisi "menempel" secara otomatis. Namun jika saya memulai program pada satu layar X, saya tidak bisa memindahkannya ke layar X lainnya hanya dengan menariknya. Jika saya ingin menjalankan program itu di layar lain saya harus me-restart di layar itu.
Pertanyaan saya adalah apakah ada cara untuk memindahkan program sambil berjalan ke layar lain menggunakan beberapa perintah atau fungsi X windows lainnya. Terima kasih.
Pembaruan: Saya akan memulai hadiah untuk pertanyaan ini, tetapi saya sudah lama bertanya-tanya tentang hal ini. Untuk mendapatkan hadiah, Anda harus memberikan beberapa kutipan sebagai bukti.
Jawaban:
Anda tidak dapat memindahkan aplikasi X yang dimulai langsung dengan X server tempat aplikasi tersebut akhirnya ditampilkan, hal ini disebabkan klien X sedang "terikat dengan X server (tampilan X) yang dimulai sejak awal" " 1 Ini adalah kemungkinan besar berkaitan dengan metadata yang dimiliki server X tentang windows klien yang tidak dapat dengan mudah ditransfer antara server X.
Hal yang sama berlaku untuk layar yang dikonfigurasikan secara terpisah (ketika tidak menggunakan ekstensi seperti Xinerama atau Twinview) untuk program yang tidak memiliki dukungan multi-layar secara eksplisit ditulis dalam - "Dengan konfigurasi ini tidak mungkin untuk memindahkan jendela di antara layar, selain dari beberapa program khusus seperti GIMP dan Emacs yang memiliki dukungan multi-layar. "[ 2 ]
Secara teori jika aplikasi dirancang untuk mengatasi saklar konteks server X, itu dapat diberikan dengan tampilan / nomor layar baru, menyimpan keadaan windows itu, terhubung ke server X baru / layar dan menghidupkan kembali windows itu, tetapi sedikit aplikasi akan dirancang dengan cara ini dan tentu akan melibatkan banyak boilerplate atau dimasukkannya perpustakaan yang akan memfasilitasi ini entah bagaimana.
Pilihan terbaik bagi Anda adalah menggunakan aplikasi lain yang dapat bertindak sebagai proxy antara klien X dan server X yang ditampilkan dengan cara yang sama seperti layar GNU dapat digunakan untuk aplikasi konsol dan terminal. Xmove dan Xpra [ 3 & 4 ] tampaknya menjadi implementasi yang paling banyak digunakan untuk melakukan ini. Peringatan menggunakan itu adalah bahwa aplikasi yang Anda mulai harus mendaftar dengan Xmove atau Xpra sebagai server X mereka untuk dapat mengubah konteks antara server tampilan yang berbeda.
Akhirnya ada pertanyaan lain, pada SuperUser, yaitu mengajukan pertanyaan serupa untuk tujuan yang sedikit berbeda (menyambung kembali ke X setelah X crash, daripada memutuskan / menyambung kembali klien dengan sengaja) [ 5 ]
sumber