Monitör ayarları varsayılan olarak terminalden nasıl sıfırlanır?


32

KDE'deki (Kubuntu) birçok monitörle ilgili zor bir sorunum var. Evde iki monitöre bağlı bir dizüstü bilgisayar var - VGA ve HDMI. Bu yalnızca dahili dizüstü bilgisayar ekranı devre dışı bırakıldığında çalışır (en azından bana söylendi).

Sorun şu ki, dizüstü bilgisayarı elimden alıp bağladığım harici monitörleri kullanmadan çalıştırdım. Sistem, yerleşik ekranın devre dışı bırakıldığını hatırlar, bu nedenle bağlı olan tek monitör olmasına rağmen devre dışı bırakır. Açıkçası, bu laptop kullanılamaz hale getirir. Ctrl+ Alt+ F#İşleri ile terminale geçerek giriş yapabilirim; hatta Konuk normal çalışır.

Asıl soru, GUI'yi kullanamadığım için bir hesabın monitör ayarlarını terminaller aracılığıyla nasıl ayarlarım (yeniden)?

Teşekkürler


3
Son bir cevap ile ilgili soruxrandr bu yararlı olabilir.

2
Bu, konsolu ikinci monitörde kullanabildiğimde, xrandr ayarlarımı ayarlayabildi. Ancak, sadece gui olmayan terminali kullanabildiğimde, xrandr ekranı açamayacağını söylüyor, bu yüzden oldukça işe yaramaz.
Martin Melka

Yerleşik dizüstü bilgisayar ekranını nasıl devre dışı bıraktınız?
natty

KDE ile ilgili bir fark olup olmadığını bilmiyorum, ama standart ubuntu'da benim için gayet iyi çalışıyor (dahili monitör GUI üzerinden kapatılmış, dizüstü bilgisayar kapağı kapalı ve dizüstü bilgisayar yerleştirme istasyonunda rahatça oturuyor).
natty

1
dizüstü bilgisayarı harici monitörlerle ve harici monitörlerle her kullandığımda ayarları yapmam mı demek istiyorsun? Eğer öyleyse, bu berbat. Neyse, bunu tty yoluyla nasıl yapacağımı bilmem gerek
Martin Melka

Yanıtlar:


9

İyi soru. Cevaplaması biraz zor, ama işte bir deneme.

Temel cevap

Aslında X11’de küçük bir sıfırlama olasılığı var . Adresinde bulabilirsiniz /etc/X11/Xreset. Xreset.dBir kullanıcı oturumu kapattığında otomatik olarak çalışan bir komut dosyasını yapıştırmak için Xreset dizinini ( ) kullanabilirsiniz. README dosyası:

# Scripts in this directory are executed as root when a user log out from
# a display manager using /etc/X11/Xreset.
# The username of the user logging out is provided in the $USER environment
# variable.

Böylece a) içine bir sıfırlama komut dosyası ekleyin /etc/X11/Xreset.dve b) çift harici ekranlarınızı ayarlayan bir başlatıcıya eklenmiş bir komut dosyası hazırlayın. Bu nedenle oturumu kapatır ve her şey normale dönerdi, dizüstü bilgisayarınızda oturum açar, ekranlar için başlatıcıya gelir ve hayattan zevk alırsınız.

Daha fazla bilgi

  1. sudo dpkg-reconfigure -phigh xserver-xorgXserver'ı sıfırlamak için bakmak isteyebilirsiniz veya ( yorumlarda Mik'in önerdiği cevaba muhtemelen daha iyi bakın ).

  2. Bir suse adam X hakkında güzel bir yazı yazdı .

  3. Çözülmüş bir hata raporunda biri şöyle belirtir:

    Yöneticiler, kullanıcı oturumu kapattıktan sonra çalıştırmak için /etc/X11/Xreset.d/ içine komut dosyalarını bırakabilir.

  4. Bu dosyanın içeriği:

Kendi sisteminizde bulabilirsiniz.

#!/bin/sh
#
# /etc/X11/Xreset
#
# global Xreset file -- for use by display managers

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xreset
SYSSESSIONDIR=/etc/X11/Xreset.d

if [ ! -d "$SYSSESSIONDIR" ]; then
  # Nothing to do, exiting
  exit 0
fi

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi 

exit 0

# vim:set ai et sts=2 sw=2 tw=80:

İlginç. Sıfırlama betiği olsa hiçbir şey yapmaz. Tty, bilgisayar yeniden başlattım, ama her şey aynıydı. Klasöre koymak ile aynı: | Xrandr komutlarını da içeriye koymayı denedim ama boşuna
Martin Melka

Sıfırlama komut dosyası, Xreset.d dizininde bulunanları çalıştırır.
don.joey

1
Sağ. İlk başta benim için işe yaramadı, çünkü senaryoya çalıştırılabilir izin eklemeyi unuttum. Şimdi bir cazibe gibi çalışıyor. Teşekkür ederim. Bununla birlikte küçük bir not. Dizüstü bilgisayarı uykuya alıp bu sırada monitörlerin fişini çekersem, oturumu kapatmam ve ekran sıfırlanmayacak. Tty üzerinden kendimi kapatmanın bir yolu var mı? X kullanan aynı kullanıcı olarak giriş yapmaya çalıştım, ancak X'ten değil, logoffyalnızca Tty'den çıkış yaptım .
Martin Melka 5:13

Merhaba Martin. Çalışması için mutluyum! Gibi bir şey denedin gnome-session-quitmi? Kaynak: askubuntu.com/questions/15795/…
don.joey 6:13

17

Lubuntu dizüstü bilgisayarımı televizyonumda görüntülerken uykuya çıkardığımda ve fişi çıkardıktan sonra uyandırdığımda, yanlış bir çözünürlük atandığından siyah bir ekran ile bitirdim. Sizinle aynı sorun, Ctrl-alt-F1 ile ulaşabileceğim TTY1 sanal terminalinden çözünürlüğü ayarlamam gerekiyor, ancak xrandr çalışmıyor gibi görünüyor. Çözüme ulaşmadan önce Google arama sonuçlarının sayfalarını taradım, bu yüzden paylaşacağımı düşündüm.

Önemli olan, xrandr’ın görünüşte yalnızca o anda odaklanmış ekranda çalıştığıdır. Bu yüzden, xrandr komutunuzdan önce Ctlr-alt-F7 ile X sunucusuna geri dönmenize zaman tanımak için bir uyku komutu zincirlemeniz gerekir, böylece komut orada yürütülür. Aksi takdirde gibi bir hata alırsınız xrandr: Configure crtc 0 failed.

  1. Ctrl-alt-F1 ile sanal terminali açın ve oturum açın

Bağlı ekranların adlarını almak için (ve X sunucunuzun çalıştığını varsayarak :0):

  1. $xrandr -d :0

Ekran ayarlarını değiştirmek için:

  1. $sleep 5; xrandr --output LVDS1 --auto -d :0

Değiştirmek istediğiniz çıktıyla LVDS1'i değiştirin ve kullanmak istediğiniz herhangi bir xrandr parametresiyle --auto yapın.

  1. Yukarıdaki komutta belirlediğiniz gecikme süresinden önce, Ctrl-alt-F7 ile X sunucusuna geçin.

Bunu yapmanın daha iyi bir yolu olmalı. Ama işe yarıyor.

Çözüm için orijinal kaynak: http://www.lgqyc.com/server-14-04-3-lts-display-orientation/

Çözümümde olası bir iyileşme için bu yorumu inceleyin (kendim denemedim).


Bu benim için çalışan tek cevaptı. Çılgın tesadüf, 3 yaşında bir konu, 11 saat önce verilen tek çalışma cevabını verdi :). EDIT: oh snap, 3 yıl önce tam. Garip ...
Adam Plocher

Vay. Bu beni yıllardır deli ediyor. Cevabınız saçma görünüyor (gerçekten uyuyor musunuz?) Ama işe yarıyor, çok teşekkür ederim!
Tyler,

6
Bunu yapmak için biraz daha iyi bir yol yoktur, çıkıyor: chvt 7; xrandr --output LVDS1 --auto -d :0. chvt 7 sizin için VT7'ye geçer, bu nedenle / Ctrl-Alt-F7 ile uyumak zorunda değilsiniz. Bir gerekebilir sleep 5arasında chvtve xrandrçağrıların, ama o zaman bile manuel anahtar presleri kaydeder.
Tyler

Bir seçenek .xsessionrcana dizininizde yürütülebilir oluşturmak ve xrandr --autoher oturum açtığınızda tüm ekranların otomatik olarak yeniden yapılandırılmasını zorlamak için komut da dahil olmak üzere olacaktır.
Mikko Rantalainen

16

Komut xrandr -s 0ekranlarınızı terminalde sıfırlamalıdır. Daha fazlası aşağıdaki sitede veya man xrandrterminalden bulunabilir.

https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/


Ubuntu'ya Sormaya Hoş Geldiniz! Bu soruya cevap verirken , cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantıyı sağlamak tercih edilir.
guntbert

4
Evet, bu işe yarıyor. Diğer cevaplar çok fazla şişirilmiş, karmaşık veya verimli değil. Ayrıca, eğer siyah bir ekranla karşılaşırsanız (ve hiçbir şey göremiyorsanız), terminalinizi kısayol tuşlarıyla açıp "xrandr -s 0" yazabilirsiniz. Yaptığım şey bu :)
kodeart

İki monitör kurulumunda, bu komutun her iki monitörü de varsayılan çözünürlüklerine ayarlamak yerine ikinci monitörü devre dışı bırakabileceğini unutmayın.
Darien

Sistemimde, komut her iki harici monitörü de devre dışı bırakıyor, ancak zaman zaman bozulan VGA DCC algılamasını düzelten yapılandırmayı da varsayılana sıfırlıyor. Bundan sonra sadece Ekranlar aracını kullanarak ekranları yeniden etkinleştirmem ve yeniden konumlandırmam gerekiyor. İdeal değil, ancak VGA bağlantı noktasını sıfırlayana kadar bilgisayarı birkaç kez askıya alıp uyandıran önceki çözümümden çok daha iyi ve daha iyi bir çözüm.
Guss,

4

denedin mi

DISPLAY=:0 xrandr --output LVDS1 --auto

farklı bir tty(örneğin, tty1),

Hangisini kullanarak Ctrl Alt F1ve standart tty7'ye geri döndürebilirsiniz Ctrl Alt F7?


1
Bu, xrandr: Configure crtc 1 failedHDMI1 çıkışıyla çıkış yaparken deniyor. - otomatik olarak kapatana kadar, hiçbir şey söylemez. Sonra
Martin Melka

daha yakından araştırmaya ihtiyaç duyacağız; Pozitif duyuyorum olurdu ... sonunda, işe
çatlak işe yatkın hakkında

2

Henüz bahsetmediğim bir şey var, ama kritik olan şey: bir Thinkpad dizüstü bilgisayar kullanıyor olsaydınız, çözüm basit olurdu: Fn+ F7. Farklı bir üreticinin dizüstü bilgisayarını kullanıyorsanız, büyük olasılıkla, ekran / ekran çıkışları arasında geçiş yapacak başka bir Fn tipi anahtar olacaktır (örneğin, ışınlayıcı, harici monitör, dahili ekran; ayna, açık / kapalı, ve benzeri) BIOS düzeyinde (varsayalım - Düzenle : Bu konuda daha fazla bilgi için Fn tuşları nasıl çalışır? bölümüne bakın ).

Yani Linux'ta bir şeyi sıfırlamaya gerek kalmayacaktı, tabiri caizse.


1
Bir IdeaPad'im var, ancak Fn + tuşları çalışmıyor (yalnızca Sleep (
Uyuyor

Benim önsezim: bununla devam et! Benim IBM ThinkPad X41 üzerinde bu alanda bazı optimizasyon yapabileceği iyi bir şans olsa iyice, şu anda kendimi araştırmak için zaman var, ama yok o worth- ne en Fn tuşları için- yapmak hem (sistemimde işi benim dizüstü bilgisayar yanı sıra harici sk-8855 "thinkvantage" klavyemde): ubuntu yazılım merkezinde (ya da sinaptik) ilk yüzeysel bakışta en azından bu şey tp-smapi-dkms 0.41-1 yüklü. Böylece kurmayı, aramayı ve / veya Fn tuşlarınızı nihayet hayata geçirecek benzeri alternatifleri denemek isteyebilirsiniz!
natty


İnanması zor, ama bu oydu. Ekran değiştir - Fn+ F8Dell Latitude'da. Yerleştirme istasyonundan çıkardıktan sonra, bazen yerleşik ekranı açmaz. (Bağlantı istasyonu ile yalnızca harici VGA ekran kullanıyorum.) Ekranı değiştirmeye çalışmak saçma gibi görünüyordu, ancak dahili ekranı açtı.
Ferdinand Prantl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.