Matikan monitor menggunakan baris perintah

59

Saya menjalankan Server Ubuntu di laptop saya. Sebenarnya tidak ada alasan untuk layar menyala. Saya telah mencoba menggunakan perintah ini untuk mematikan layar:

sleep 1 && xset dpms force off

Masalahnya adalah saya mendapatkan kesalahan berikut

unable to open display "".

Adakah yang tahu apa yang sedang terjadi / apa yang salah? Ada saran lain untuk melakukan hal ini?

AngryBird
sumber
Apakah Anda memiliki server X yang diinstal? Dan itu sedang berjalan?
enzotib
@enzotib, saya yakin itu sudah diinstal. Adapun itu berjalan, saya tidak yakin. Bagaimana saya bisa memeriksanya?
AngryBird
1
Coba jalankan ini dulu:export DISPLAY=:0.0
RobinJ
Output bukan nol dari yang dpkg -l | grep xserver-xorgakan diinstal. Output non null mulai pgrep -fl Xberjalan. Omong-omong, jika berjalan Anda harus dalam sesi grafis.
enzotib
1
@ WarriorIng64: itu adalah laptop
enzotib

Jawaban:

59

Untuk mematikan monitor di konsol, perintahnya adalah sebagai berikut:

sudo vbetool dpms off

Untuk mendapatkan kembali kendali atas konsol dengan menekan tombol Enter , saya sarankan

sudo sh -c 'vbetool dpms off; read ans; vbetool dpms on'
enzotib
sumber
2
Anda mungkin ingin alias banyak ini untuk sesuatu yang berguna.
Danny Staple
1
vbetool tersedia melaluisudo apt-get install vbetool
David Clarke
1
Dalam kasus saya perintah ini benar-benar berubah tampilan off dan bukan xsetsatu
golimar
Anehnya, perintah mematikan 2 dari 3 tampilan, putih ketiga tersisa untuk sementara waktu sebelum mesin reboot sendiri jika perintah dieksekusi melalui ssh.
danba
@enzotib, saya mengklik secara tidak sengaja untuk mengunduh, maaf. Harap edit sedikit jawabannya agar saya dapat menghapus downvote.
andras.tim
32

Coba perintah ini ...

Mematikan:

xset -display :0.0 dpms force off 

Untuk Menghidupkan:

xset -display :0.0 dpms force on 

Jika tampilan Anda mati dan kemudian segera hidup kembali maka cobalah hal berikut yang menambahkan penundaan 1 detik sebelum mematikan layar. Ini memberi kesempatan semua acara diproses oleh X server sebelum mematikan display.

sleep 1 && xset -display :0.0 dpms force off 
Glauber Cardoso
sumber
Bagaimana saya tahu layar mana yang
Karl Morrison
1
Berikut ini bekerja untuk saya (sebagian juga terinspirasi oleh jawaban @ enzotib ):xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on
stiemannkj1
Hati-hati dengan ini. Saya tidak dapat mengaktifkan monitor saya kembali dengan mesin uji setelah mengeluarkanforce off
Zmart
2
Pembaruan: Menarik keluar dan memasang kembali semua kabel (termasuk daya) pada monitor telah memperbaiki situasi.
Zmart
27

The xsetperintah yang disebutkan dalam jawaban lainnya akan mematikan semua monitor jika Anda memiliki beberapa monitor setup. Namun jika Anda ingin mematikan hanya satu atau beberapa monitor yang harus Anda gunakan xrandr.

xrandr -qPerintah jalankan pertama , yang akan mencantumkan semua monitor dan pengaturan tampilan saat ini. Di awal setiap detail monitor Anda akan menemukan nama monitor yang ditetapkan oleh sistem. Anda harus melacaknya.

Saya memiliki dua monitor (satu terhubung ke port DVI dan lainnya ke port VGA) dan ketika saya menjalankan perintah saya melihat ini:

Screen 0: minimum 320 x 200, current 1360 x 768, maximum 2726 x 2726
DFP1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
   1360x768       59.7*+
   ... (more details are shown here, but I have hidden it)

CRT1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 410mm x 230mm
   1360x768       59.8*+   60.0  
   ... (more details are shown here, but I have hidden it)

Dalam output ini, monitor terhubung port DVI diberi label DFP1dan yang lain sebagai CRT1. Jadi jika saya ingin mematikan monitor sekunder (yaitu, CRT1) saya telah menjalankan perintah ini:

xrandr --output CRT1 --off

jika Anda ingin mengaktifkan monitor itu lagi maka Anda telah menjalankan perintah ini:

xrandr --output CRT1 --auto
Harshith JV
sumber
Saya memiliki 3 Monitor, 1 VGA, 1 DVI dan 1 HDMI. Ketika saya menjalankan: xrandr --output VGA1 --auto, ini menghidupkan VGA, tetapi itu mengkloning monitor DVI.
ThiagoPonte
Hmm aneh. Coba --pada bukannya --auto
Harshith JV
@ HarshithJ.V. ini jawaban yang bagus! Ini lebih baik daripada xsetkarena xset menyala jika Anda cukup menekan touchpad dll. Btw harap Anda ingat saya dari perusahaan Anda sebelumnya :-)
Nishant
@Nishant Terima kasih atas pujian. Anehnya saya tidak ingat kamu. Tolong ping saya di media sosial lain karena kami tidak bisa mengobrol karena itu melanggar aturan.
Harshith JV
Jika Anda mendapatkan kesalahan crtc, ketikkan "chvt 7" sebelum perintah xrandr, sehingga berbunyi "chvt 7 && xrandr -d: 0 --output eDP1 --auto"
haytham-med haytham
11

Saya baru saja menginstal Ubuntu Server 18.04.1 (tidak ada GUI, X, atau apa pun grafis), dan setelah melanggar punggung saya tadi malam mencoba mematikan layar saya akhirnya menemukan perintah ajaib:

setterm --blank 1

Setelah menjalankan perintah, layar akan mati secara otomatis setiap menit (jika menganggur).


Dan lebih baik lagi, jika Anda ingin perintah dijalankan secara otomatis saat boot, Anda dapat menambahkannya ke baris perintah GRUB , untuk melakukannya kita harus mengedit file selanjutnya:

sudo nano /etc/default/grub

Sesampai di sana, hanya menambahkan consoleblank=60untuk GRUB_CMDLINE_DEFAULT, seharusnya terlihat seperti ini:

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=60"

Kemudian tutup file dan simpan, setelah itu jalankan sudo update-grubdan voila , setiap kali Anda mem-boot layar akan mati secara otomatis setiap 60 detik. (lagi, jika menganggur).

Dan cara ini (menambahkan Consoleblank ke GRUB) berfungsi bahkan dari terminal jarak jauh (ssh).

Nikmati! (lagi)

Boy Graffity
sumber
1
Menjalankan perintah di atas saya dapatkan: "setterm: terminal xterm-256color tidak mendukung --blank". Apa yang bisa salah?
zx485
1
Apakah Anda mencoba dari sesi jarak jauh?
Boy Graffity
@ zx485 Periksa jawaban yang diperbarui, sekarang Anda dapat mematikan layar dari sesi jarak jauh. Saya yakin ini akan menyelesaikan masalah Anda
Boy Graffity
6

Jika Anda memiliki banyak monitor, gunakan ini:

Mematikan monitor kedua Anda:
(Dengan asumsi CRT-0 adalah monitor kiri Anda dan CRT-1 adalah monitor kanan Anda)
xrandr --output CRT-1 --off
Menghidupkan monitor kedua Anda:
xrandr --output CRT-1 --right-of CRT-0 --auto
Dengan cara ini xrandr tahu untuk tidak menggandakan layar pertama.

Darksworm
sumber
Saya sedang menguji ini, mematikan layar dengan cara ini lebih seperti menonaktifkannya, misalnya, layar masih menyala. Itu tidak digunakan. The --off'd layar tidak dapat diaktifkan kembali dengan tombol power layar ini (karena masih on / off tidak pernah). Itu juga kacau dengan pengaturan tampilan desktop saya, (dari desktop yang diperluas ke tampilan cermin). Jika ini dilakukan untuk mematikan kedua monitor, saya tidak yakin akan mudah untuk menyalakannya kembali tanpa masuk ke TTY dan menghapus file monitor.xml di mana pun. Semakin banyak Anda tahu.
ThorSummoner
0

Saya mengalami masalah yang sama. Apa yang saya temukan adalah bahwa di laptop saya (aspire acer lama) tombol screentoggle default didukung. Ini bisa seperti itu fn+F6.

Solusi ini mungkin tidak berfungsi saat itu. Saya harap ini akan membantu siapa saja yang menghadapi masalah ini.

DutchJelly
sumber