[erledigt] xrandr für Laptop und externer Monitor (lxrandr speichert nicht)

schdrag

Member
Registriert
18 Aug. 2011
Beiträge
719
lxrandr in voidlinux speichert leider meine Einstellungen nicht.
Um den Laptopmonitor auszuschalten und den externen Bildschirm anzuschalten (1600x1200), dachte ich an folgenden Eintrag (gemäss archlinux xrandr Wiki): https://wiki.archlinux.org/index.php/xrandr#Configuration

Habe das hier in Fett eingefügt: /etc/lxdm/Xsession. Klappt so weit, nur bleibt der Bildschirm schwarz, bis ich auf numlock drücke (?):

Edit: hat leider doch nicht funktioniert.
Code:
#!/bin/bash

# use bash for "exec -l", howto run login shell by /bin/sh ?
#!/bin/bash
intern=LVDS1
extern=HDMI2
if xrandr | grep "$extern connected"; then
    xrandr --output "$extern" --rotate left --on --output "$intern" --off
else    xrandr --output "$intern" --on --output "$extern" --off 
fi
if [ $# -eq 1 -a -n "$1" ]; then
    LXSESSION=$1
else
# default session
    LXSESSION=/usr/bin/startlxde
fi

[ -f /etc/profile ] && . /etc/profile
[ -f ~/.profile ] && . ~/.profile
[ -f /etc/xprofile ] && . /etc/xprofile
[ -f ~/.xprofile ] && . ~/.xprofile

if [ -f /etc/X11/xinit/xinitrc-common ]; then
# fedora
    . /etc/X11/xinit/xinitrc-common
    exec -l bash -c "$LXSESSION"
elif [ -x /etc/X11/xinit/Xsession ]; then
# fedora
    exec /etc/X11/xinit/Xsession "$LXSESSION"
elif [ -x /etc/X11/Xsession ]; then
# mandriva, debian, ubuntu
    exec /etc/X11/Xsession "$LXSESSION"
elif [ -x /etc/X11/xinit/xinitrc ]; then
#suse
    export WINDOWMANAGER=$LXSESSION
    exec -l bash -c /etc/X11/xinit/xinitrc
else
# unknown, user should custom /etc/lxdm/xinitrc self
    if [ -x /etc/lxdm/xinitrc ]; then
  . /etc/lxdm/xinitrc "$LXSESSION"
    fi
    if [ -d /etc/X11/xinit/xinitrc.d ] ; then
  for f in /etc/X11/xinit/xinitrc.d/* ; do
   [ -x "$f" ] && . "$f"
  done
  unset f
    fi

    if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS";
    then
  eval "$(dbus-launch --sh-syntax --exit-with-session)"
    fi

    exec -l bash -c "$LXSESSION"
fi
Alternative dazu wäre in ~/.config/lxsession/LXDE/autostart ohne Bedingung:
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
@xrandr --output HDMI2 --rotate left --mode 1200x1600 --output LVDS-1 --off

Grundsätzlich wäre mir die Bedingungsgeschichte lieber, wäre auch unabhängig vom user und vielleicht etwas schneller (?)
 
Zuletzt bearbeitet:
Edit die /etc/X11/xinit/xinitrc manipulieren mit xrandr --output HDMI2 --rotate left --mode 1600x1200 & hat keinen Erfolg

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
xrandr --output HDMI2 --rotate left --mode 1600x1200 &
exec xterm -geometry 80x66+0+0 -name login

Dagegen funktioniert es bei leafpad ~/.config/lxsession/LXDE/autostart
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
@xrandr --output HDMI2 --rotate left --mode 1600x1200

Wieso?
 
Zuletzt bearbeitet:
Vielleicht auch mal im Forum deiner Nischen-Distri fragen? ;)
 
klar könntest Du z.B. sagen: "Ubuntu user, ab in's Ubuntu Forum". Mir ging's um grundsätzliches, habe ja auch deshalb das arch wiki erwähnt: welche Dateien sind - user unabhängig - für die xrandr Einstellungen da. Gut, wenn die arch Tips bei voidlinux nicht hinhauen, dann ist das wirklich "ein Fall für void". Das voidlinux Forum ist leider nicht mehr existent, es gibt aber inzwischen einen reddit Ersatz. Ein guter Grund, auf Debian oder Devuan umzusatteln, nur läuft void bei mir extrem schnell und stabil, auch updates haben noch nie Probleme gemacht.
 
Ich schrieb "auch"!

Ohne dass ich etwas zu deiner eigentlichen Aufgabenstellung sagen könnte oder möchte (ich benutze nur Desktops die das von Haus aus beherrschen):

Mir scheint, Du bastelst an kritischen Systemdateien wie /etc/lxdm/Xsession herum, ohne Verständnis der Änderungen und ohne dir elementare Grundlagen anzueignen.

Zwei Shebangs am Anfang sind z.B. schon mal handwerklich Pfusch:
Code:
#!/bin/bash

# use bash for "exec -l", howto run login shell by /bin/sh ?
#!/bin/bash
Dein Code läuft danach also als Erstes, bevor der Displaymanager überhaupt eine Chance hatte, alles Nötige zu tun, um die Session zu starten (Rest des Systemskripts samt Abhängigkeiten).

In /etc/lxdm/ gibt es noch mehr Dateien mit sprechenden Namen die evtl. besser geeignet wären, etwas einzubauen, das nach dem Login laufen soll.

Für die bessere Lösung halte ich, im Gegensatz zu dir, ein benutzerspezifisches Skript in ~/.config/lxsession/LXDE/autostart. Damit zerschießt Du dir nämlich nicht die Anmeldung aller Benutzer wenn Du etwas falsch skriptest.

Aber wenn Du eine funktionierende und sinnvolle Lösung verschmähst, musst Du deinen Weg vermutlich alleine gehen. Hat dafür den Vorteil des größeren Lerneffekts.
 
Danke für die Erläuterung, ist wirklich besser, das auf Benutzerebene zu machen. Anscheinend (lt. google) ist das ein lxrandr bug, dass die Einstellungen nicht gespeichert werden. Hab's jetzt händisch in ~/.config/autostart/lxrandr-autostart.desktop gesetzt
Habe nun 'mal nachgelesen, was ein shebang ist...
Ja, ich bin definitiv eher jemand, der den Computer als Werkzeug sieht. Und da zum Einen das wiki von voidlinux im Gegensatz zu denen von debian oder ubuntu sehr dürftig ist (zumindest für mein Informatikverständnis), es inzwischen auch kein Forum mehr gibt, bringt's das wohl auf Dauer nicht. In in ~/.config/lxsession/LXDE/autostart. hatte ich eine Zeile
@sh /home/meinuser/bildschirmscript.sh
#!/bin/bash
intern=LVDS1
extern=HDMI2

if xrandr | grep "$extern connected"; then
xrandr --output "$intern" --off --output "$extern" --rotate left --mode 1600x1200 --auto
else
xrandr --output "$extern" --off --output "$intern" --mode 1366x768 --auto
fi
Es wird von lxrandr überschrieben, wenn Einstellungen/default applications/autostart der Haken für xrandr nicht 'raus genommen wird. Das Speichern der mit lxrandr gesetzten Einstellungen funktioniert aber genauso wenig in Lubuntu (bzw. nur für die jeweilige session), anscheinend ein lxde bug.
 
Zuletzt bearbeitet:
  • ok1.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen
Zurück
Oben