すべてのユーザーアカウントに表示設定を適用しますか?


14

複数のモニターの設定を修正するのに少し時間を費やしましたが、ログインしているときは正常に機能していますが、ログイン画面や他のユーザーには正しくありません。

すべてのユーザーとログイン画面の表示設定をグローバルに設定するにはどうすればよいですか?


どのように設定しましたか?GUIまたはコマンドラインから、そしてあなたの設定は何ですか?
ジェイコブVlijm

「画面表示」GUIでは、設定はとにかく表示されていると思います。2つのモニター、1つは回転しました。
ミラム

askubuntu.com/questions/360886/…は、1人のユーザーと同じログインを設定します。これは便利です。askubuntu.com/questions/372729/…は、14.04で使用されなくなった古いxorg設定に対処しているようです(どうですか?)。14.04でこれを行う方法に関する質問または回答が見つかりません
...-mirams

私はその答えを試して、ログインのために画面を正しく回転し、その後ユーザーのために回転しませんでした(ローカルのmonitors.xmlを削除した後でも)
-mirams

モニターをセットアップし、sudo cp ~/.config/monitors.xml /var/lib/lightdm/.config/以前に提案されたとおりに実行し、以下のソリューションを実行すると、説明どおりにすべてのユーザー(新しいユーザーを含む)のセットアップができます。
ジェイコブVlijm

回答:


14

システムのセットアップ方法によっては、正しくセットアップされたユーザーからすべてのユーザーにmonitors.xmlファイルをコピーするのと同じくらい簡単です。

これを1人のユーザーに対してテストするには:

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

既にログインしている場合は TestUserからログオフし、再度ログオンして、すべてが正しいかどうかを確認します。

すべてのユーザー向けのコマンド:

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

ログイン画面のコマンド:

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

将来のすべてのユーザー向けのコマンド¹:

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

注¹:今後作成するすべてのユーザー


1
私はすでにコメントでそれを提案しました(そして以前の回答では、しかしロールバックしました)が、OPはそれが十分ではないと述べました。これはログイン画面でのみ機能します:)また、新しいユーザーをそれらのユーザーに再度コピーしない限り機能しません。
ジェイコブVlijm

@JacobVlijm:読むには...再び鉱山は、ログイン画面-用で、すべてのユーザー ... :P (それは仕事がすべてを入力してから、他のポスターを警告するだろうしないことOPによって、この下のコメントとしてそこにそれを残しています3回目)> :
ファビー

1
このため、すべてのユーザーにファイルをコピーすることはお勧めしませでした。すべてのユーザーアカウント(および将来のアカウント)に設定を適用し、ログイン画面を正しく表示するソリューションが欲しいです。に追加する/etc/xdg ことは、新しいユーザーにも同様にそれを行う唯一のトリックのようです。
ジェイコブVlijm

@JacobVlijm:ああ、あれを逃した!(そのためのソリューションも追加されました) ;-)
Fabby

2
これはまだ最良の答えです-すべてのモニターを正しく設定し、ゲストユーザーに対してもすぐに動作します。ボーナスとして-Display Settings GUIから「Launcher Placement」設定もコピーする方法はありますか?私のユーザーでは、それはただ1つのモニター上にありますが、新規/ゲストユーザーの両方にあります。
ミラム

3

ログイン時にすべてのユーザーの画面構成を設定するに(これにより、ログイン画面の構成は変更されません)、次の場所に.desktopファイルを作成できます。/etc/xdg/autostart

どうやってするか

  1. を実行して、回転させたい画面の名前を見つけますxrandr。いくつかの行のうち、次のような行が出力されます。

    VGA-0 connected
    

    これにより、接続された画面の名前に関する情報が得られます。

  2. 以下の私の例では、回転させたいものを選択します VGA-0
  3. (例)でランチャーを作成しますgedit

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

    以下のテキストをファイルに貼り付けます。

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

    次の行で置き換えます:

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

    文字列:(VGA-0回転した)スクリーンの名前。

重要な注意事項

  • ラインで

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

    を含めましたsleep 10。これはxrandr、デスクトップの読み込みが「完了する」前に、コマンドの実行が早すぎると、コマンドが壊れることがあるためです。休憩を増やす必要があるか、それを除外してみてください。コマンドで、そのままのログインした後、10秒後に画面が回転する任意のユーザ。

  • コマンド:

    xrandr --output VGA-0 --rotate left
    

    回転画面では、あなたがローテーションの別のタイプが欲しいならば、あなたはどちらか選択することができると言うする必要が残っていないleftrightnormalinverted(も参照ここ)

説明

起動時にコマンドを実行(実際にログイン)するには、.desktopファイル(ランチャー)をに配置します~/.config/autostart。これは、単一のユーザーに対してのみランチャーを実行します。あなたは同じことを行うが、中にランチャーを配置する場合は/etc/xdg/autostartいつでも、コマンドの実行を任意の特定のユーザーがダッシュ>スタートアップアプリケーションでの彼または彼女のためにランチャーを無効にしない限り、ユーザーがログインします

また、ローカル~/.config/monitors.xmlファイルを単にコピーして/var/lib/lightdm/monitors.xml、ログイン画面で設定を機能させることもできます。

この組み合わせと、上記のソリューション(のランチャー/etc/xdg)は、ログイン画面と(任意の)ユーザーの両方に必要なものを正確に実現する最も簡単なソリューションです。また、/etc/xdgユーザーの設定とログイン画面の両方が管理されているため、(各)ユーザーレベルで多くのファイルを編集することなく、別のセットアップを行う必要がある場合に、ランチャーのソリューションは(非常に)簡単に元に戻すか変更できますすべてのユーザーが2つのシンプルなファイルにまとめられます。


それはうまくいくかもしれません-ログインの10秒後に設定を変更しますが、どこから開始するかを知り、すべてのユーザー(および現在横になっているログイン画面)を変更したいです。
ミラム

なぜ誰かがこれを支持するのでしょうか?
ファビー

2

同様の問題に苦しんでいる人にコメントを追加したかっただけです。ログインするたびに古いモニターの解像度(1280x1024)で動けなくなりましたが、ログイン画面とゲストユーザーのログインは正しいデフォルトの1680x1050を使用します。

過去4か月間、答えを探してxorg.conf、monitors.xml、lightdmxrandrなどの提案を読んで、多くの投稿を読みましたが、一部の構成変更は複雑で、表示を壊すリスクがあります完全に、私はGUIを使用してログインごとに手動でモニター設定を変更することになりました。

今日、.configフォルダーで古い解像度のgrepを行いました。

grep -HrnIF '1280' .config | less

最初の結果は、これを含む〜/ .config / autostart / xrandr.desktopファイルでした。

Exec=xrandr -s 1280x1024 -r 75

そのため、ファイルをそこから移動しました。そしてビンゴ、ログインしてデフォルトの1680x1050解像度を取得します。

検索に数時間かかり、十分な回答を見つけることができなかったので、誰かに役立つ場合はここに投稿してください。


Ask Ubuntuへようこそ。4か月(経過時間)の研究を共有していただきありがとうございます。
WinEunuuchs2Unix 16

これをもう一度読んで、2年前にxrandr.desktopファイルを作成してUbuntuを常にデフォルトの「Goldstar」基本モニター設定に設定した可能性があり、おそらくビデオカードとの互換性の問題でした。
MattB

0

に何かを追加できます/etc/lightdm/lightdm.conf。ここでは、xrandrコマンドを使用してディスプレイをセットアップするスクリプトを作成します。グラフィカルなRandRツールを使用して、などのコマンドを作成できますarandr。私の場合、スクリプトは次のようになります。

#!/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

このスクリプトは任意の/usr/share場所に配置できます。これは複雑なデュアルモニターのセットアップのためであるため、スクリプトはそれほど複雑に見えません。次に、次のようなものを追加します。

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

そして:

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

ファイルが実行可能であることを確認してください:

chmod a+x mycustomxrandr.sh

session-setup-script以下のための表示を設定します、あなたがLightDMからログインし、display-setup-scriptログイン画面の表示を変更します。


あなたがこれを試してみることができたら素晴らしいと思います、私はこれがあなたのために働くかどうかに興味があります。
nixpower

0

私のシステム(Ubuntu 16.04)のログイン画面では、単にcp'rootとして(を使用してsudo)動作しませんでした。また、monitors.xmlの所有者/グループがであることを確認する必要がありlightdm:lightdmます。

sudo chown lightdm:lightdm /var/lib/lightdm/.config/monitors.xml
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.