Wo Scriptaufruf bei Unitystart eintragen?

Hallo!

Kann mir jemand helfen:

Ich möchte, dass wenn das Loginfenster bei Unity (habe den xenialcloop) auf geht, der Befehl „xrandr --Auto“ geladen wird. Wo muss ich das eintragen?
Das Problem ist nämlich, dass wenn die Geräte starten, die einen Beamer angeschlossen haben, das Loginfenster auf dem Beamer ist, bzw der der primäre Monitor ist.
Oder gibts da eine bessere Lösung?

Bitte um Hilfe!

Lg, Alex

Hallo Alex,

Kann mir jemand helfen:

Ich möchte, dass wenn das Loginfenster bei Unity (habe den xenialcloop)
auf geht, der Befehl “xrandr --Auto” geladen wird. Wo muss ich das
eintragen?

/etc/xdg/autostart
könnte klappen.

Das Problem ist nämlich, dass wenn die Geräte starten, die einen Beamer
angeschlossen haben, das Loginfenster auf dem Beamer ist, bzw der der
primäre Monitor ist.
Oder gibts da eine bessere Lösung?

… ich hab das seit Jahren ohne dass ich irgend wo was geschraubt hätte.
Wir haben in allen Räumen Laptops mit Beamern.
Das Loginfenster hüpft auf den Bildschirm auf der die Maus ist: bewegt
man sie, springt das Fenster.
Das war so unter 12.04 und ist jetzt unter 14.04 so…

Bisher haben das alle KOllegen geblickt … oder sich nicht getraut was
zu sagen: aber dann kann ich ihnen nicht helfen…

LG

Holger

Hallo Alex,

Softwareseitig kenne ich da nichts, wäre aber interessiert daran, ob man dem Ubuntu beim Booten schon vorgeben kann, dass es die Bildschirme klont und nicht erweitert. Dann wäre nämlich auf jedem Bildschirm die Anmeldemaske zu sehen.

Aber man kann hardwareseitig einen Videosplitter verwenden, der 1 Videosignal des PCs auf 2 Ausgabegeräte ausgibt.

Gruß
Stefan

Hi Alex,
wenn ich mir die Startreihenfolge der Dienste in /etc/rc2.d ansehen, dann wird der Anmeldedienst (lightdm) gestartet, bevor die Datei /etc/rc.local aufgerufen wird. Von daher sollte es reichen, wenn Du Deinen xrand da rein schreibst.
Ansonsten kannst Du im Zweifelsfall auch in /etc/rc2.d einen eigenen Eintrag hinzufügen um Skripte von Dir an einem definierten Punkt im Startup ausführen zu lassen.
Gruß
Sascha

Hallo Alex,

Wir lösen das (wie Holger) über ein Bewegen der Maus beim Login.
Dann erscheint die Button-Bar, dort kann man dann den Bildschirm per Knopfdruck spiegeln. Die kannst Du individuell auf die Auflösungen der Beamer konfigurieren. https://www.linuxmuster.net/wiki/anwenderwiki:linuxclient:buttonbar
wenn alles nix hilft, geh doch mal an einen solchen Rechner, stelle “Bildschirm spiegeln” ein und mach ein Image. Er müsste sich das eigentlich merken…

LG
Max

Hallo Alex,

ich habe bei uns unter Ubuntu16 ein Skript (s.u.) laufen, das
automatisch beim Starten der graphischen Oberfläche (also schon mit dem Starten der Anmeldebildschirms, unabhängig von UNITY) die größte gemeinsame Auflösung zweier Anzeigegeräte einstellt, egal über welche Anschlüsse diese verbunden sind.
Damit das ganze bereits beim Starten der graphischen Oberfläche passiert muss im Ordner /etc/lightdm/lightdm.conf.d/ eine Datei mit folgendem Inhalt erstellt werden.

[SeatDefaults]
greeter-setup-script=/Pfad/zu/diesem/Skript/s.u.
display-setup-script=/Pfad/zu/diesem/Skript/s.u.

Grüße,
Sven

Hier das eigentliche Skript:

#!/bin/bash
#
# Dieses Skript stellt automatisch auf zwei Anzeigegeräte die größte
gemeinsame
# Auflösung ein. Auf beiden Anzeigen wird das gleiche Bild dargestellt
# ("clone").
#
# Sven Röhrauer
# 08.07.2016
# GPL v3
#
# Hinweis: Soll dieses Skript direkt nach dem Start des X-Servers, d.h.
bevor
# der greeter startet, muss im Ordner /etc/lightdm/lightdm.conf.d/ eine
# Datei
# mit folgendem Inhalt abgelegt werden:
# greeter-setup-script=/Pfad/zu/diesem/Skript
# Soll es erst zu Beginn der Nutzersitzung ausgeführt werden, muss in
# die o.g.
# Datei folgenden Inhalt besitzen
session-setup-script=/Pfad/zu/diesem/Skript
#
# ACHTUNG: Verwende "DISPLAY" nicht als Variablenname, dies ist eine (von i
# diesem Skript benötigte) Umgebungsvariable
#
# Alle angeschlossenen Anzeigeräte ermitteln
ANZEIGE=($(xrandr --query | grep " connected" | cut -d" " -f1))
#
# Finde die höchste gemeinsame Auflösung
# Hinweis: Diese Logik funtkioniert nur für 2 Displays, nicht für 3 und
# mehr.
MAXAUFLOESUNG=$(xrandr --query | awk '/^ *[0-9]*x[0-9]*/{ print $1 }' | \
sort -n | uniq -d | tail -1)
#
# Auflösung einstellen
xrandr --output ${ANZEIGE[0]} --mode $MAXAUFLOESUNG --output ${ANZEIGE[1]} \
--mode $MAXAUFLOESUNG --same-as ${ANZEIGE[0]}
1 „Gefällt mir“