Pagina 1 di 3

[RISOLTO] Forzare risoluzione monitor esterno in Lubuntu

Inviato: mercoledì 14 maggio 2014, 12:23
da artikkko
Ave forum!

Dopo essere incappato nel topic dell'utente poliestere "Forzare risoluzione monitor esterno - Xubuntu", constatando l'impossibilità di ottenere una risposta rapida al mio problema, ho deciso di creare un nuovo topic.

Ho un netbook Samsung NP-NC10 con processore Intel Atom e scheda grafica integrata.
Come OS, monto Lubuntu 14.04 LTS 32 bit.

Avendo collegato un monitor esterno al pc (una vera e propria tv, modello Inno-Hit, LCD 19 pollici), necessiterei di passare permanentemente ad una risoluzione superiore alla 1024x768 di default.
Opterei per una 1440x900.

Però:
- non sò se la mia scheda grafica lo supporti (il monitor sì senza dubbio)
- ho provato dapprima creando un file xorg.conf.new etc... da console virtuale, ma troppo complicato per me (ancora)
- ho tentato infine la via dello script, ma ho alcuni dubbi:
  • dove salvo il file .sh?
  • come lo rendo avviabile? In 'Applicazione predefinite LXDE' --> Autostart --> Aggiungi, cosa devo scrivere? Il percorso del file? O solo il suo nome? (ad esempio, tempo fa aggiunsi il Newtork manager digitando solo 'nm-applet')
  • ho forse sbagliato a scrivere? (l'ho copiato da quello del poliestere e modificato dove serviva, lasciando le impostazioni per una risoluzione 1366x768):

    Codice: Seleziona tutto

    #!/bin/bash
    #assegno un ritardo di 5 secondi
    sleep 5
    #avvio xrandr -q per controllare le periferiche video connesse
    myvar="$(xrandr -q)"
    #e se VGA1 è connessa,
    if [[ $myvar == *"VGA1 connected"* ]] 
    then
    xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784  768 771 781 798 -hsync +vsync; 
    #allora aggiungo la risoluzione desiderata (ottenuta con cvt) 
    xrandr --addmode VGA1 1368x768_60.00;
    #assegno a VGA1 la risoluzione creata e spengo le altre periferiche video e monitor del netbook 
    xrandr --output VGA1 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output LVDS1 --off --output VIRTUAL1 --off --output DisplayPort-0 --off;  
    #altrimenti, se VGA1 non è collegato, assegno la risoluzione automatica al monitor del netbook
    else 
    xrandr --output LVDS1 --auto;
    fi
Grazie in anticipo per l'aiuto.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: mercoledì 14 maggio 2014, 14:34
da artikkko
Risolto! Ma al 99% ....

Prima di tutto ho spostato lo script in /etc/init.d

Poi ho seguito i comandi del secondo tizio che ha risposto a questo ask-topic: clicca qui!

Poi ho letto che essendo il mio uno script grafico, non potevo avviarlo in questo modo bensì aggiungerlo tra le applicazioni in autostart: Menù --> Preferenze --> Applicazioni predefinite LXDE --> Autostart --> aggiungi --> /etc/init.d/nome_script.sh
[credo qundi che ovunque l'avessi lasciato, sarebbe andato bene ugualmente]

Al riavvio, tutto funziona! Anche se la risoluzione voluta viene caricata sempre dopo quella di default. Qualche consiglio su come avviarla immedatamente?

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: mercoledì 14 maggio 2014, 15:25
da Roberto Pontecorvi
Ora non so se Xubuntu ha gli stessi file di configurazione di ubuntu, se poi usa lightdm o gdm . La soluzione sarebbe quella di scrivere le istruzioni xrandr, che usi nello script, nel file -> lightdm-session o in gdm-session. Il comando è:

Codice: Seleziona tutto

sudo gedit /usr/sbin/lightdm-session :
e inserisci le istruzioni xrandr alla fine del file. Naturalmente se usi gdm, cambia il nome del file alla fine del comando.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: venerdì 16 maggio 2014, 22:14
da artikkko
Ciao! E grazie per aver risposto: perdona il ritardo, ma sono stato lontano dal pc per due giorni.
Il comando da te inserito mi da un file vuoto.
Basta che copio le tre righe xrandr dello script( (newmode, addmode e output)? O esiste uno scheletro del file che posso/devo copiare e incollare da qualche parte?

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: sabato 17 maggio 2014, 17:02
da Roberto Pontecorvi
La sequenza, del comando xrandr, è esatta. Prima di proseguire hai provato con "gdm", al posto di "lightdm" ???? Mi sono accorto ora che nel comando che ti ho dato c'è un errore (due punti in più) il comando esatto è:

Codice: Seleziona tutto

sudo gedit /usr/sbin/lightdm-session
e se hai "gdm"

Codice: Seleziona tutto

sudo gedit /usr/sbin/gdm-session

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 21:01
da artikkko
Non preoccuparti: i due punti non l'avevo messi. E cmq ho lightdm e non gdm.
Non sò perchè non riesca ad aprire il file da terminale, ma ho trovato cmq un modo per modificarlo con permessi di amministratore.

Ora, il problema è solo sapere precisissimamente come modificare lightdm-session: hai scritto "alla fine del file", ma come? Così come sono, copiate e incollate dal mio script? O con qualche formuletta tecnica da inserire (then, if, etc....)?

Posto il contenuto di lightdm-session:
Spoiler
Mostra
#!/bin/sh
#
# LightDM wrapper to run around X sessions.

echo "Running X session wrapper"

message () {
# pretty-print messages of arbitrary length; use xmessage if it
# is available and $DISPLAY is set
MESSAGE="$PROGNAME: $*"
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
fi
}

errormsg () {
# exit script with error
message "$*"
exit 1
}

# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then
echo "Loading profile from $file";
. "$file"
fi
done

# Load resources
if type xrdb >/dev/null 2>&1; then
xresourcedir="/etc/X11/Xresources"
if [ -d "$xresourcedir" ]; then
for file in $xresourcedir/*; do
echo "Loading resource: $file"
xrdb -nocpp -merge "$file"
done
fi
xresourcefile="$HOME/.Xresources"
if [ -f "$xresourcefile" ]; then
echo "Loading resource: $xresourcefile"
xrdb -nocpp -merge "$xresourcefile"
fi
fi

# Load keymaps
if type setxkbmap >/dev/null 2>&1; then
for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
if [ -f "$file" ]; then
echo "Loading keymap: $file"
setxkbmap `cat "$file"`
XKB_IN_USE=yes
fi
done
fi

# Load xmodmap if not using XKB
if type xmodmap >/dev/null 2>&1; then
if [ -z "$XKB_IN_USE" ]; then
for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
if [ -f "$file" ]; then
echo "Loading modmap: $file"
xmodmap "$file"
fi
done
fi
fi

unset XKB_IN_USE

# Run all system xinitrc shell scripts.
xinitdir="/etc/X11/xinit/xinitrc.d"
if [ -d "$xinitdir" ]; then
for script in $xinitdir/*; do
echo "Loading xinit script $script"
if [ -x "$script" -a ! -d "$script" ]; then
. "$script"
fi
done
fi

# Load Xsession scripts
# OPTIONFILE, USERXSESSION, USERXSESSIONRC and ALTUSERXSESSION are required
# by the scripts to work
xsessionddir="/etc/X11/Xsession.d"
OPTIONFILE=/etc/X11/Xsession.options
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession

if [ -d "$xsessionddir" ]; then
for i in `ls $xsessionddir`; do
script="$xsessionddir/$i"
echo "Loading X session script $script"
if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
. "$script"
fi
done
fi

echo "X session wrapper complete, running session $@"

exec $@

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:09
da Roberto Pontecorvi
Le tre istruzioni xrandr le aggiungi in fondo al file, così come le hai scritte nello script.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:31
da artikkko
Dato che non vorrei trovarmi ad applicare una modifica che poi mi blocchi il server grafico, necessiterei di più precisione.

Quindi, la parte finale del file lightdm-session dovrebbe essere questa,
Spoiler
Mostra
exec $@

xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync;
xrandr --addmode VGA1 1368x768_60.00;
xrandr --output VGA1 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output LVDS1 --off --output VIRTUAL1 --off --output DisplayPort-0 --off;
compreso l'ultimo punto e virgola?

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:39
da Roberto Pontecorvi
Per il file ok, quello che non mi torna sono i ";" finali dove hai letto di metterli???

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:43
da artikkko
Oh ecco! Da nessuna parte infatti: ho solo copiato e incollato la parte del mio script contenente i comandi xrandr.
Quindi
Spoiler
Mostra
exec $@

xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1368x768_60.00
xrandr --output VGA1 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output LVDS1 --off --output VIRTUAL1 --off --output DisplayPort-0 --off
compresa la riga vuota dopo exec$@??

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:48
da Roberto Pontecorvi
Si

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:49
da artikkko
fatto. Riavvio e faccio sapere.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:49
da Roberto Pontecorvi
Comunque se hai dei problemi dopo il riavvio, preparati una live al limite riapri il file e cancelli le istruzioni.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 22:54
da artikkko
Mumento, mumento! Semmai il server grafico mi implodesse, cosa dovrei fare?
Ho pronta una pen-drive con Lubuntu OS, ma una volta avviata la prova live, come accedo al file?

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 23:05
da Roberto Pontecorvi
Va bene anche la usb semplicemente avvii la usb e vai nella partizione dell'hdd dove è installata la tua distribuzione e segui le il percorso -> /usr/sbin/
Perchè non siapre con i comandi che ti ho postato?? MI sa che la tua distribuzione non usa "gedit" ma un'altro editor (forse "nemo" o "pluma") controlla. Però fai come hai fatto che è più semplice, specialmente se usi la usb

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 23:09
da artikkko
Ah giusto! Potevo arrivarci da solo in effetti. GRAZIE ;)

Cmq uso gedit, è quello il mistero...forse fa conflitto con Libreofffice Writer, tant'è vero che mi sono trovato molti file .sh con l'icone di libreoffice.
Ad ogni modo ora non è un problema.

Provo e faccio sapere

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 23:11
da Roberto Pontecorvi
Va bene, non usando la tua distribuzione sul funzionamento dell'editor di testo mi informo e vediamo.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 23:24
da Roberto Pontecorvi
Ma usi lubuntu o Xubuntu ????

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 23:25
da artikkko
Due riavvii, peggio di prima: una prima schermata nera in 1024x600, una seconda (lunga) schermata nera in 1440x900 e infine viene caricato il desktop in 1440x900, dapprima frammentato (con sottofondo lo sfondo azzurro di default) e in un secondo si riassesta.

Ora che ci penso: lasciando i tre comandi xrandr sia in lightdm-session che nel mio script (che, ricordo, è impostato in autostart da /etc/init.d), non è come far caricare al pc due volte la stessa cosa?

Quello che vorrei ottenere è avviare Lubuntu direttamente in 1440x900 se possibile.

Re: Come forzare risoluzione per monitor esterno in Lubuntu?

Inviato: domenica 18 maggio 2014, 23:28
da artikkko
Lubuntu: l'ho scritto a inizio post, c'è scritto da titolo di questa discussione ed è pure nei dettagli utente qui a sinistra sotto il mio nick name...