Utente:FrancescoFrassinelli/Sandbox

Da FOL Wiki.

Proposta tabella compatibilità

Compatibilità F18 F19 F21 Successive

Compatibile Non compatibile Non testata

Miniguida problemi video

Forzare una risoluzione con xrandr/Xorg

Può capitare che gli strumenti classici per regolare le impostazioni del monitor, non permettano di scegliere la risoluzione desiderata. Questo script permette di impostare, in maniera forzata, una determinata risoluzione su una specifica uscita video e, dopo una prova, rendere la modifica permanente, nel caso l'utente lo desideri.

Una grafica rappresentante le risoluzioni più comuni è reperibile su: https://en.wikipedia.org/wiki/Display_resolution#mediaviewer/File:Vector_Video_Standards8.svg

E' necessario copiare ed incollare il seguente script per intero nel terminale. Non è necessario essere superutente (root).

Warning.png Attenzione !
Questo script non è stato testato su configurazioni multi-monitor.
(set -e
OUTPUTS=($(xrandr -q | grep -e '^[A-Za-z]' | grep ' connected' | cut -d' ' -f1))
echo "Video outputs:"
i=1
for output in ${OUTPUTS[@]}
do
    echo "$i) $output"
    let i++
done
read -p "Select video output [1-${#OUTPUTS[@]}]: " id
[[ $id -ge 1 && $id -le ${#OUTPUTS[@]} ]] || exit 1
let id--
output=${OUTPUTS[$id]}
read -p "Width: " width
read -p "Height: " height
modeline=$(cvt $width $height | tail -n1)
mode=$(echo $modeline | tr -d \" | cut -d' ' -f2)
oldmode=$(xrandr -q | grep \* | cut -d' ' -f4)
xrandr -q | grep -qe "^   $mode " || xrandr --newmode $(echo $modeline | tr -d \" | cut -d' ' -f2-)
xrandr --addmode $output $mode
xrandr --output $output --mode $mode
read -t 0 notused || true
read -t 10 -p "Keep this resolution? (10 seconds...) [y/N] " keep || true
if [[ ! $keep =~ ^[Yy] ]]; then
  xrandr --output $output --mode $oldmode
  exit 1
fi
read -p "Save this configuration? [y/N] " save
[[ $save =~ ^[Yy] ]] || exit 1
pkexec tee /etc/X11/xorg.conf.d/41-monitor-customresolution.conf << EOF
Section "Monitor"
  Identifier "$output"
  $modeline
  Option "PreferredMode" "$mode"
EndSection
EOF
)

Se si volesse rimuovere la modifica apportata, basta cancellare il file creato col seguente comando:

pkexec rm /etc/X11/xorg.conf.d/41-monitor-customresolution.conf

Disabilitare una uscita video

Talvolta il kernel Linux individua uscite video "fantasma": uscite che, pur non essendo fisicamente presenti sul computer, vengono rilevate ed attivate, creando notevoli disagi.

E' possibile far sì che Linux ignori una o più uscite video, risolvendo alla fonte il problema, modificando i parametri di boot.

E' necessario copiare ed incollare il seguente script per intero nel terminale. Non è necessario essere superutente (root).

(set -e
DIR=/sys/class/drm
REGEX="(card[0-9]+-(.+))"
OUTPUTS=($(for f in $DIR/*
do [[ $f =~ $REGEX ]] && echo ${BASH_REMATCH[1]} || true
done))
echo "Video outputs:"
i=1
for output in ${OUTPUTS[@]}
do
    echo "$i) $output " $(cat $DIR/$output/{status,enabled})
    let i++
done | column -t
read -p "Select video output [1-${#OUTPUTS[@]}]: " id
[[ $id -ge 1 && $id -le ${#OUTPUTS[@]} ]] || exit 1
let id--
[[ ${OUTPUTS[$id]} =~ $REGEX ]] || exit 1
pkexec sed -ri 's/(GRUB_CMDLINE_LINUX=)"(.*)"/\1"\2 video='${BASH_REMATCH[2]}':d"/' /etc/sysconfig/grub
for f in /boot/{grub2,efi/EFI/fedora}/grub.cfg
do [ -f $f ] && pkexec grub2-mkconfig -o $f
done)

Al termine di questa procedura, è consigliabile controllare manualmente il contenuto di /etc/sysconfig/grub per verificare se le opzioni di boot specificate nella linea "GRUB_CMDLINE_LINUX" soddisfino le proprie esigenze.

Maggiori informazioni su Grub2 sono reperibili su: https://fedoraproject.org/wiki/GRUB_2

Scaling e panning

Bozza tratta da: http://forum.fedoraonline.it/viewtopic.php?pid=234799#p234799

(set -e
r=1.0
res=$(xrandr -q | grep \* | cut -d' ' -f4)
width=${res%x*}
height=${res#*x}
xrandr --output $(xrandr | sed -n 's/^\(.*\) connected .*/\1/p') --panning $(($width*${r//./,}))x$(($height*${r//./,})) --scale "$r"x"$r"
)


Note finali

Questa guida è nata per fornire una risposta ai frequenti visitatori del forum di FedoraOnLine.it che riscontrano problemi con le uscite video o con la gestione delle risoluzioni.

Gli script sono stati scritti nell'intento di fornire una soluzione semplice ed affidabile, ma potrebbero presentare dei difetti. Per precauzione, nel caso durante la loro esecuzione incontrassero un imprevisto, termineranno immediatamente. E' importante quindi comprendere cosa si stia facendo e verificare che i file siano stati modificati correttamente.

Riferimenti:

Miniguida trova il pacchetto giusto

Tratta da: Forum - gpp non riconosciuto

Può capitare che si voglia utilizzare un determinato comando, ma che il pacchetto che lo fornisce non sia installato. Per trovare il nome del pacchetto mancante si può eseguire una ricerca mirata (nel seguente esempio sarà cercato g++):

$ dnf provides /{usr/,}{s,}bin/g++

Aggiornamento fallito

Questi sono appunti personali molto grezzi, magari possono tornare utili a qualcuno!

Ecco come ho risolto il mio aggiornamento fallito verso F24 (per colpa di BTRFS):

## Rigenerazione db rpm [...]
## https://fedoraproject.org/wiki/DNF_system_upgrade
## Rimozione pacchetti non necessari (*-devel, *-debug) [...]
## Upgrade singoli pacchetti, rimozione conflitti (loop)
# rpm -qa --qf "%{name}\t%{release}\n" | grep -v gpg-pubkey | grep -P '(?<!\.fc24)$' | cut -f1 | xargs -n1 sh -c 'set -x; dnf upgrade --releasever=24 -y $0 || exit 255'
# dnf remove $conflict
## Upgrade singoli pacchetti, rimozione conflitti (loop)
# dnf upgrade
# dnf remove $conflict
## Rimozione duplicati, allineamento versioni e rimozione pacchetti inutili
# package-cleanup --cleandupes --skip-broken
# dnf distro-sync
# dnf autoremove
## Installazione pacchetti mancanti
# dnf group mark remove 'Fedora Workstation'
# dnf groupinstall 'Fedora Workstation'
## Pulizia file di configurazione
# dnf install meld rpmconf
# export MERGE=meld
# rpmconf -a

Altre possibili miniguide