Saya menggunakan VNC untuk terhubung ke workstation Linux di tempat kerja. Di tempat kerja saya memiliki monitor 20 "yang beroperasi pada 1600x1200, sementara di rumah saya menggunakan laptop saya dengan resolusi 1440x900. Jika saya mengatur vncserver untuk berjalan pada 1440x900 saya kehilangan banyak ruang pada monitor saya, sedangkan jika saya atur agar berjalan pada 1600x1200 itu tidak muat di layar laptop, dan saya harus menggulirnya sepanjang waktu.
Apakah ada cara yang baik untuk mengubah ukuran sesi VNC dengan cepat?
Server VNC saya adalah RealVNC E4.x (saya tidak ingat versi persisnya) berjalan pada SuSE64.
Jawaban:
Server VNC nyata 4.4 mencakup dukungan untuk Xrandr, yang memungkinkan untuk mengubah ukuran VNC. Mulai server dengan:
Kemudian ubah ukurannya dengan:
sumber
.vnc/config
file. Sebagai contoh, baris pertama konfigurasi saya adalah:-randr 800x600,1024x768,1280x800,1280x960,1280x1024,1680x1050,1920x1080,3360x1050,1024x700,1200x740,1600x1000,3200x1000
tightvncserver
?Mengetahui bahwa vnc4server (4.1.1) yang dikirimkan dengan Ubuntu (10.04) telah ditambal untuk juga mendukung perubahan resolusi dengan cepat melalui xrandr. Sayangnya fitur itu sulit ditemukan karena tidak berdokumen. Jadi begini...
Mulai server dengan beberapa contoh 'geometri', seperti:
Dari terminal dalam vncviewer (dengan: 'memungkinkan ukuran desktop dmanmanik' diaktifkan) gunakan xrandr untuk melihat mode yang tersedia:
untuk mengubah resulution, misalnya gunakan:
Itu dia.
sumber
Saya menjalankan TigerVNC di server Linux saya, yang memiliki dukungan randr dasar . Saya baru saja memulai vncserver tanpa opsi -randr atau multiple -geometry.
Ketika saya menjalankan xrandr di terminal, ini akan menampilkan semua resolusi layar yang tersedia:
Saya kemudian dapat dengan mudah beralih ke resolusi lain (fe beralih ke 1360x768):
Saya menggunakan penampil TightVnc sebagai klien dan secara otomatis beradaptasi dengan resolusi baru.
sumber
Saya pikir yang terbaik adalah menjalankan server VNC dengan geometri yang berbeda pada port yang berbeda. Saya akan mencoba berdasarkan halaman manual
Kemudian Anda dapat terhubung dari kantor ke satu port dan dari rumah ke port lainnya.
Sunting: Kemudian gunakan xmove untuk memindahkan windows antara dua x-server.
sumber
Ketika pertanyaan ini muncul pertama kali di Google, saya pikir saya akan membagikan solusi menggunakan TigerVNC yang merupakan standar akhir-akhir ini.
xrandr
memungkinkan memilih mode tampilan (resolusi alias) namun karena modeline yang dikodekan oleh modeline tambahan seperti "2560x1600" atau "1600x900" perlu ditambahkan ke dalam kode . Saya pikir pengembang yang menulis kode jauh lebih pintar dan daftar kode keras hanyalah contoh nilai. Ini mengarah pada kesimpulan bahwa harus ada cara untuk menambahkan modelines khusus danman xrandr
mengonfirmasinya.Dengan latar belakang itu jika tujuannya adalah untuk berbagi sesi VNC antara dua komputer dengan resolusi di atas dan dengan asumsi bahwa server VNC adalah komputer dengan resolusi "1600x900":
Mulai sesi VNC dengan geometri yang cocok dengan tampilan fisik:
Pada komputer "2560x1600", aktifkan penampil VNC (saya lebih suka Remmina) dan sambungkan ke sesi VNC jarak jauh:
Begitu masuk sesi VNC memulai jendela terminal.
Konfirmasikan bahwa geometri baru tersedia di sesi VNC:
dan Anda akan melihat layarnya cukup kecil.
Daftar modeline (lihat artikel xrandr di ArchLinux wiki) untuk resolusi "2560x1600":
atau jika monitor sudah tua, dapatkan timing GTF:
Tambahkan modeline baru ke sesi VNC saat ini:
Pada tampilan
xrandr
output di atas untuk nama tampilan di baris kedua:Bind modeline baru ke monitor virtual VNC saat ini:
Gunakan:
sumber
Menariknya tidak ada yang menjawab ini. Di TigerVNC, saat Anda masuk ke sesi. Pergi ke
System > Preference > Display
dari bilah menu atas (saya menggunakan Cent OS sebagai Server jarak jauh saya). Klik pada resolusi turun ke bawah, ada berbagai pengaturan yang tersedia termasuk 1080p. Pilih yang Anda suka. Ini akan berubah dengan cepat.Pastikan Anda Menerapkan pengaturan baru saat dialog diminta. Kalau tidak, itu akan kembali ke pengaturan sebelumnya seperti di Windows
sumber
Cowok ini sangat sederhana.
login via
ssh
ke pi Andamenjalankan
Ini akan menghasilkan sesi baru
:1
terhubung dengan klien vnc Anda di
ipaddress:1
Itu dia.
sumber
Menambahkan ke jawaban Nathan (diterima):
Saya ingin menelusuri daftar resolusi tetapi tidak melihat apa-apa untuk itu:
Itu mendapatkan indeks saat ini, langkah-langkah ke yang berikutnya dan siklus kembali ke 0 pada kesalahan (yaitu akhir)
EDIT
Dimodifikasi agar sesuai dengan versi xrandr yang lebih baru ("*" ada di akhir baris dan tidak ada pengidentifikasi resolusi terkemuka).
sumber
Solusi oleh @omiday bekerja untuk saya di Xvnc TigerVNC 1.1.0, jadi saya memadatkannya menjadi fungsi bash tunggal vncsize xy . Gunakan seperti ini: vncsize 1400 1000 . Ini berfungsi untuk nama output VNC, "default" atau "VNC-0".
sumber
Mungkin jawaban yang paling bodoh yang saya posting tetapi begini: Gunakan TigerVNC client / viewer dan centang di
'Resize remote session to local window'
bawah tab Screen of options.Saya tidak tahu apa yang dikatakan $% # @ klien TigerVNC vncserver jarak jauh atau xrandr atau Xvnc atau gnome atau ... tapi itu berubah ukuran ketika saya mengubah jendela TigerVNC Client.
Pengaturan saya:
Dengan ini resolusi berubah agar sesuai dengan ukuran jendela klien tidak peduli apa itu, dan tidak
zooming
, itu perubahan resolusi yang sebenarnya (saya bisa melihat resolusi baru dalam output xrandr).Saya mencoba semua yang saya bisa untuk menambahkan resolusi baru ke xrandr, tetapi tidak berhasil, selalu berakhir dengan
'xrandr: Failed to get size of gamma for output default'
kesalahan.Versi yang berfungsi untuk saya saat ini (walaupun saya tidak memiliki masalah dengan versi APA SAJA di masa lalu, saya hanya menginstal menggunakan terbaru
yum install gnome-* tigervnc-server
dan berfungsi dengan baik):sumber
$HOME
direktori saya berfungsi seperti yang diharapkan github.com/TigerVNC/tigervnc/issues/155Saya tidak yakin tentang linux, tetapi di bawah windows, tightvnc akan mendeteksi dan beradaptasi dengan perubahan resolusi pada server.
Jadi Anda harus dapat VNC ke workstation, melakukan yang setara dengan klik kanan pada desktop, properti, atur resolusi ke apa pun, dan minta klien Anda mengubah ukuran jendela vnc sendiri.
sumber
Saya pikir Anda dapat menggunakan xmove untuk memindahkan windows antara dua x-server yang terpisah. Jadi jika itu berhasil, ini setidaknya harus memberi Anda cara untuk melakukan apa yang Anda inginkan walaupun tidak semudah mengubah resolusi.
sumber
Sejauh yang saya tahu tidak ada cara untuk mengubah resolusi klien hanya menggunakan VNC, karena itu hanya aplikasi "monitor mirroring".
Namun TightVNC (yang merupakan aplikasi klien dan server VNC) dapat mengubah ukuran layar di sisi klien, yaitu membuat segalanya sedikit lebih kecil (mirip dengan teknik pengubahan ukuran gambar dalam program grafik). Itu akan berhasil jika Anda tidak menggunakan ukuran font yang terlalu kecil. VNC secara teoritis harus kompatibel antara aplikasi VNC yang berbeda.
sumber
Saya punya ide sederhana, sesuatu seperti ini:
Yah, saya butuh solusi yang lebih baik untuk semua perangkat layar di Linux dan Similars SO
sumber
Saya pikir itu tergantung pada manajer jendela Anda.
Saya pengguna windows, jadi ini mungkin dugaan yang salah, tetapi: Apakah tidak ada sesuatu yang disebut X-Server yang berjalan pada mesin linux - setidaknya pada yang mungkin menjadi target menarik untuk VNC - yang dapat Anda hubungi dengan " X-Klien "?
VNC hanya mengambil semua yang ada di layar dan "terowongan melalui jaringan Anda". Jika saya tidak sepenuhnya salah maka protokol "X" akan memberi Anda kesempatan untuk menggunakan resolusi desktop klien Anda.
Give X-Server di Wikipedia mencoba, yang mungkin memberi Anda gambaran kasar.
sumber