Görüntü ayarları tüm kullanıcı hesaplarına uygulansın mı?


14

Ayarlarımı birden fazla monitör için doğru hale getirmek için biraz zaman harcadım ve giriş yaptığımda iyi çalışıyor, ancak giriş ekranında veya diğer kullanıcılar için doğru değil.

Görüntü ayarlarını tüm kullanıcılar ve giriş ekranı için global olarak nasıl ayarlarım?


Nasıl ayarladın? GUI veya komut satırından ve ayarlarınız tam olarak nedir?
Jacob Vlijm

Sanırım "Ekran Gösterimi" GUI ile ayarlar yine de orada görünüyor. Biri döndürülmüş iki monitör.
mirams

askubuntu.com/questions/360886/… , giriş bilgisini bir kullanıcı ile aynı olacak şekilde ayarlar, bu da yardımcı olur. askubuntu.com/questions/372729/… artık 14.04'te kullanılmayan eski xorg ayarlarını ele alıyor gibi görünüyor (sanırım?).
14.04

Bu cevabı denedim, ekran giriş için doğru bir şekilde döndü ve daha sonra kullanıcılar için döndürülmedi (yerel monitörlerini sildikten sonra bile
.xml

Ödüllerinizi biraz şaşırdım, monitörlerinizi kurarsanız, sudo cp ~/.config/monitors.xml /var/lib/lightdm/.config/daha önce önerildiği gibi çalıştırırsanız , + aşağıdaki çözümde, tam olarak açıkladığınız gibi tüm kullanıcılar (yeni kullanıcılar dahil) için kurulumunuz vardır .
Jacob Vlijm

Yanıtlar:


14

Sisteminizi kurma biçiminize bağlı olarak, monitors.xmldosyayı doğru kurulum kullanıcısından tüm kullanıcılara kopyalamak kadar kolay olabilir :

Bunu bir kullanıcı için test etmek için:

cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /home/TestUser/.config/

daha önce oturum açtıysanız TestUser oturumunu kapatın , yeniden oturum açın ve her şeyin doğru olup olmadığını görün.

Tüm kullanıcılar için komut:

cp /home/CorrectUser/.config/monitors.xml /tmp/
for szUser in /home/* ; do sudo cp --preserve=timestamps /tmp/monitors.xml $szUser/.config/ ; done

Giriş ekranı için komut:

sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /var/lib/lightdm/.config/

Gelecekteki tüm kullanıcılar için komut ¹:

sudo mdkdir -p /etc/skel/.config
sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /etc/skel/.config/

Not¹: Gelecekte oluşturacağınız tüm kullanıcılar


1
Zaten yorumlarda önerdi (ve daha önce cevabımda, ama geri döndü), ama OP yeterli olmadığını belirtti. Bu yalnızca oturum açma ekranı için geçerlidir :) Ayrıca , bu kullanıcılara tekrar kopyalamadığınız sürece yeni kullanıcılar için de çalışmaz .
Jacob Vlijm

@JacobVlijm: Tekrar oku ... Benim giriş ekranı ve tüm kullanıcılar içindir ... : P (OP'nin çalışmadığı bir yorum olarak aşağıda bırakması diğer posterlerin hepsini yazmasını uyarır üçüncü kez) > :-)
Fabby

1
Dosyayı tüm kullanıcılara kopyalamayı önermedim, çünkü: Ayarları tüm kullanıcı hesaplarına (ve gelecekteki hesaplara) uygulayan ve aynı zamanda giriş ekranının doğru görünmesini sağlayan bir çözüm istiyorum. ekleme, /etc/xdg yeni kullanıcılara da bunu yapan tek numara gibi görünüyor.
Jacob Vlijm

@JacobVlijm: ah, bunu kaçırdım! (Bunun için de çözüm eklendi) ;-)
Fabby

2
Bu en iyi yanıttır - tüm monitörleri doğru şekilde ayarlar ve misafir kullanıcı için de hemen çalışır. Bonus olarak, "Başlatıcı Yerleşimi" ayarını da Ekran Ayarları GUI'sinden kopyalamanın bir yolu var mı? Benim kullanıcı sadece bir monitörde, ama hem yeni / misafir kullanıcı için.
mirams

3

Ekran konfigürasyonunu ayarlamak için de günlüğünde her kullanıcı için (Bu ekranda günlüğüne yapılandırmayı değişmeyecek), bir oluşturabilir .desktopdosyayı/etc/xdg/autostart

Bu nasıl yapılır

  1. çalıştırarak döndürülmesini istediğiniz ekranın adını öğrenin xrandr. Birkaç satır gibi birkaç satır çıkarır:

    VGA-0 connected
    

    Bu size bağlı ekranların adları hakkında bilgi verir.

  2. Aşağıdaki örneğimde, döndürülmesini istediğinizi seçin VGA-0
  3. Aşağıdakilerle bir başlatıcı oluşturun gedit:

    sudo -i gedit /etc/xdg/autostart/set_screens.desktop
    

    Aşağıdaki metni dosyaya yapıştırın:

    [Desktop Entry]
    Name=set_screens
    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    Type=Application
    

    satırda değiştirin:

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    Dize: VGA-0(döndürülmüş) ekranınızın adına göre.

Önemli notlar

  • Çizgide

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    Bir dahil ettim sleep 10. Bunun nedeni, bazen xrandrmasaüstünün "bitirilmesinden" önce çok erken çalıştırılması durumunda komutların kırılmasıdır. Muhtemelen molayı artırmanız gerekir, yoksa dışarıda bırakmayı deneyebilirsiniz. Komutta olduğu gibi, ekran herhangi bir kullanıcının oturum açmasından 10 saniye sonra döner .

  • Komuta:

    xrandr --output VGA-0 --rotate left
    

    döner ekranında, dönme başka tür isterseniz, şunları seçebilirsiniz söylemek gerek sol left, right, normal, inverted(ayrıca bkz burada) .

açıklama

Bir .desktopdosya (başlatıcı) yerleştirerek başlangıçta komutları çalıştırabilirsiniz (aslında giriş yapın) ~/.config/autostart. Bu, başlatıcıyı yalnızca tek bir kullanıcı için çalıştırır. Aynı şeyi yapar, ancak başlatıcıyı yerleştirirseniz /etc/xdg/autostart, belirli bir kullanıcı Dash> Startup Applications'ta başlatıcıyı devre dışı bırakmadığı sürece komut, herhangi bir kullanıcı oturum açtığında çalışır.

Ayrıca , ayarların oturum açma ekranında çalışmasını sağlamak için yerel ~/.config/monitors.xmldosyanızı da kopyalayabilirsiniz /var/lib/lightdm/monitors.xml.

Bunun bir kombinasyonu ve yukarıdaki çözüm (bir başlatıcısı /etc/xdg) hem giriş ekranı hem de (herhangi bir) kullanıcı için tam olarak ne istediğinizi elde etmek için en kolay çözümdür. Ayrıca, /etc/xdghem kullanıcı ayarları hem de giriş ekranı yönetildiğinden, her kullanıcının kullanıcı düzeyinde çok sayıda dosyayı düzenlemeden başka bir kurulum yapmanız gerektiğinde bir başlatıcısının çözümü (çok) kolayca tersine çevrilebilir veya değiştirilebilir. tüm kullanıcılar aynı anda iki basit dosyada.


Bu işe yarayabilir - giriş yaptıktan sonra 10s ayarlarını değiştirmek, ancak nereden başlayacaklarını ve herkes için (ve şu anda yan taraftaki giriş ekranını) değiştireceklerini bilmeyi tercih ederim.
mirams

Neden birisi bunu küçümseyesin ki?
Fabby

2

Sadece benzer bir sorunla bu mücadeleyi bulan herkes için bir yorum eklemek istedim. Her giriş yaptığımda eski monitörümün (1280x1024) çözünürlüğüyle takıldım, ancak giriş ekranı ve misafir kullanıcı girişi doğru varsayılan 1680x1050'yi kullanıyor.

Son dört ay içinde bir yanıt arayan, xorg.conf, monitors.xml, lightdm ve xrandr ve diğer önerileri okuyarak birçok gönderi okudum - ancak bazı yapılandırma değişiklikleri karmaşık ve ekranı bozma riski taşıyor tamamen, bu yüzden her girişte monitör ayarını manuel olarak değiştirmek için gui'yi kullandım.

Bugün .config klasörümdeki eski çözünürlük için bir grep yaptım.

grep -HrnIF '1280' .config | less

İlk sonuç ~ / .config / autostart / xrandr.desktop dosyası idi,

Exec=xrandr -s 1280x1024 -r 75

bu yüzden dosyayı oradan çıkardım. Ve tombala, giriş yapıyorum ve varsayılan 1680x1050 çözünürlüğü alıyorum.

Arama birkaç saat sürdü ve yeterince yakın bir cevap bulamadım, bu yüzden birisi için yararlı olması durumunda buraya gönderiyorum.


Ask Ubuntu'ya hoş geldiniz. Dört aylık (geçen zaman) araştırmanızı paylaştığınız için teşekkür ederiz.
WinEunuuchs2Unix

Bunu tekrar okuduğumda, muhtemelen iki yıl önce Ubuntu'yu her zaman 'Goldstar' temel monitör ayarlarına döndürmek için xrandr.desktop dosyasını oluşturduğumu düşünüyorum ve bu muhtemelen video kartımla bir uyumluluk sorunuydu.
MattB

0

Bir şey eklemek isteyebilirsiniz /etc/lightdm/lightdm.conf. Burada xrandr, ekranlarınızı kurmak için bir komut kullanan bir komut dosyası oluşturuyoruz . Sizin için bir komut oluşturmak için bazı grafiksel RandR aracını kullanabilirsiniz arandr. Benim durumumda, komut dosyası şöyle görünecektir:

#!/bin/sh
xrandr --output DVI-I-1 --mode 1600x1200 --pos 0x0 --rotate left --output DVI-I-0 --off --output DP-3 --off --output DP-2 --off --output DP-1 --mode 1600x900 --pos 1200x700 --rotate normal --output DP-0 --off

Bu komut dosyasını /usr/shareistediğiniz yere veya istediğiniz yere koyabilirsiniz . Komut dosyanız çok daha karmaşık görünebilir, çünkü bu karmaşık bir çift monitör kurulumu içindir. Sonra şöyle bir şey ekleyin:

session-setup-script=/usr/share/mycustomxrandr.sh

ve:

display-setup-script=/usr/share/mycustomxrandr.sh

Dosyanın yürütülebilir olduğundan emin olun, bu nedenle:

chmod a+x mycustomxrandr.sh

session-setup-scriptİçin ekranı ayarlayacaktır sonra size LightDM üzerinden giriş ve display-setup-scriptgiriş ekranı için ekran değişecektir.


Bunu deneyebilirsen harika olur, bunun senin için işe yarayıp yaramayacağını görmekle ilgileniyorum.
nixpower

0

Sistemimde (Ubuntu 16.04) oturum açma ekranı için sadece cproot (kullanma sudo) olarak çalışmadı. Ayrıca monitors.xml sahibinin / grubunun olduğundan emin olmanız da gerekebilir lightdm:lightdm.

sudo chown lightdm:lightdm /var/lib/lightdm/.config/monitors.xml
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.