autoX - perché no ?

Forum dedicato ai Porting ufficiali e non di Slackware, vedi Slack/390, ARMedslack, Slamd64, Slackintosh, Ocsid, Sloox, Zenwalk, How-Tux, Slax etc etc

Moderatore: Staff

Regole del forum
1) Specificare nome e versione del porting.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
zoros
Linux 4.x
Linux 4.x
Messaggi: 1361
Iscritto il: lun 28 mag 2007, 22:51
Nome Cognome: Fabio`Zorba`
Slackware: 14.1
Kernel: 3.10.30-smp
Desktop: KDE-3.5(works!)
Località: Gorizia
Contatta:

autoX - perché no ?

Messaggio da zoros »

E' un po' che ho "monopolizzato" questa sezione "Porting Slackware" ... ecco allora un'altra proposta: uno script che ricrea xorg.conf ad ogni avvio ...

al di la dello script che è nato in un certo modo e non ho il tempo per renderlo "elegante" a me preme far passare alcune idee/osservazioni:

1) esiste già un "X -configure" e le ultime versioni di Xorg generano un xorg.conf abbastanza buono ... ma non ci siamo ancora, non è ancora ok ...
2) il problema di far partire un X decente (o semplicemente di farlo partire) si ripresenta ancora troppe volte ... non avere la grafica per un newbie è un dramma, la grafica deve partire ... se poi l'installazione si sposta (tipo disco usb) allora un autoX è molto utile ...

in attesa quindi che questo "X -configure" ufficiale sia al 100% con uno script possiamo rimediare ai punti di incertezza del programma ... i punti che ho rilevato sono questi:
1) la risoluzione scelta non è sempre quella ottimale, in particolare se abbiamo monitor wide-screen
2) se il monitor non è collegato il DDC non funziona e ci "becchiamo" un 640x480 ... impossibile da usare
3) non vengono aggiunte le poche "option" che servono per usare un compiz o beryl
4) se sono stati installati driver proprietari ATI e nVidia questi non vengono rilevati correttamente, anzi per le nVidia ci viene proposto un driver "vga" che poi neanche parte
5) in altri casi viene proposto il driver "vga" quando ormai tutte le schede grafiche sono in grado di sostenere il "vesa" ...

lo script proposto parte da "X -configure" e aggiusta alcune cose ricreando /etc/X11/xorg.conf ... lo script è in grado di funzionare così com'è in qualsiasi path anche se avevo previsto una directory specifica (/etc/biSlack) dove creare un file "Config" per eventuali customizzazioni ... può essere richiamato in rc.local o rc.4 così partirà ad ogni avvio ...

Codice: Seleziona tutto

#!/bin/sh
# autoX - autodetect xorg.conf
#         Copyleft (!c) FZ 2005-2009

autoX_version='4.0 - 04/24/2009  FZ'

PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/etc/biSlack

CUSTOM_CONFIG=/etc/biSlack/Config

#--- here you can customize some xorg options --------
# you can put this parameters in a $CUSTOM_CONFIG file

#MONITOR=auto      # low,medium,high,auto
#X_COLOR_DEPTH=24  # 8,16,24
#LAYOUT=it         #to force keyboard layout

#XFS_REMOTE_SERVER=192.168.1.123   #to use a remote font server

#X_SCREEN_MODES='"1920x1080" "1366x768" "1280x800"'  #wide screen, hdtv screen
#X_SCREEN_MODES='"1600x1200" "1280x1024" "1024x768"' #4/3 screen

#---------- text color echo ---------
function echoc()
{
case "$2" in
 black)
  echo "[01;30m$1[00m"
 ;;
 red)
  echo "[01;31m$1[00m"
 ;;
 green)
  echo "[01;32m$1[00m"
 ;;
 yellow)
  echo "[01;33m$1[00m"
 ;;
 blue)
  echo "[01;34m$1[00m"
 ;;
 magenta)
  echo "[01;35m$1[00m"
 ;;
 cyan)
  echo "[01;36m$1[00m"
 ;;
 white)
  echo "[01;37m$1[00m"
 ;;
 *)
  echo "$1"
 ;;
esac
}
#------------------------------------

# Loading some custom xorg parameters
if [ -f $CUSTOM_CONFIG ] ; then
 . $CUSTOM_CONFIG
fi

# if exist file no_detect_video then exit
if [ -e /etc/biSlack/no_detect_video ] ; then
 echoc "   Custom xorg.conf ... exit" red
 exit
fi

Xcfg_file=xorg.conf
Xcfg_out=/etc/X11/$Xcfg_file
Xcfg_new="not_detected"

if [ -a $Xcfg_out ]; then
 rm -Rf $Xcfg_out.prec
 cp $Xcfg_out $Xcfg_out.prec
fi

export HOME=/root

rm -f /$Xcfg_file.new
rm -f /root/$Xcfg_file.new

echoc "   Detecting video ..." red

# Check your effective X server path and module path if -configure not work
if [ -d /usr/lib/xorg/modules ] ; then
 X -configure -modulepath /usr/lib/xorg/modules 2> /dev/null
else
 X -configure -modulepath /usr/lib/X11/modules 2> /dev/null
fi

# Search xorg.conf.new in some path
if [ -a /$Xcfg_file.new ]; then
 Xcfg_new=/$Xcfg_file.new
fi
if [ -a /root/$Xcfg_file.new ]; then
 Xcfg_new=/root/$Xcfg_file.new
fi
if [ -a /etc/$Xcfg_file.new ]; then
 Xcfg_new=/etc/$Xcfg_file.new
fi
if [ -a /etc/X11/$Xcfg_file.new ]; then
 Xcfg_new=/etc/X11/$Xcfg_file.new
fi
if [ -a /etc/init.d/$Xcfg_file.new ]; then
 Xcfg_new=/etc/init.d/$Xcfg_file.new
fi

# extract detected parameters
IFS=
SECTION_DEVICE=`sed -n '/Section "Device"/,/EndSection/p' $Xcfg_new | grep -v "#" 2> /dev/null`

Driver=`echo $SECTION_DEVICE | grep Driver | cut -d'"' -f2 2> /dev/null`
VendorName=`echo $SECTION_DEVICE | grep Vendor | cut -d'"' -f2 2> /dev/null`
BoardName=`echo $SECTION_DEVICE | grep Board | cut -d'"' -f2 2> /dev/null`
BusID=`echo $SECTION_DEVICE | grep BusID | cut -d'"' -f2 2> /dev/null`

if [ -a $Xcfg_new ]; then
 echoc "Vendor    $VendorName" blue
 echoc "Board     $BoardName"  blue
 echoc "Driver    $Driver"     yellow
 echoc "BusID     $BusID"      green
else
 echoc "Not Detected try VESA" yellow
fi

USBdev=/dev/input/mice
PS2dev=/dev/psaux

echo '######################################################' >  $Xcfg_out
echo "#   $Xcfg_file   automatically configured by autoX"           >> $Xcfg_out
echo "#               version $autoX_version"                      >> $Xcfg_out
echo '######################################################' >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "ServerLayout"'                           >> $Xcfg_out
echo '  Identifier     "Xorg Configured"'               >> $Xcfg_out
echo '  Screen       0 "Screen0" 0 0'                   >> $Xcfg_out
echo '  InputDevice    "Keyboard0"     "CoreKeyboard"'  >> $Xcfg_out

echo '  InputDevice    "USB_Mouse"     "CorePointer"'  >> $Xcfg_out
echo '  InputDevice    "Synaptics"     "SendCoreEvents"'  >> $Xcfg_out

# if you not have serial mouse comment the two following line
echo '  InputDevice    "Serial_Mouse0" "SendCoreEvents"'  >> $Xcfg_out
echo '  InputDevice    "Serial_Mouse1" "SendCoreEvents"'  >> $Xcfg_out

echo 'EndSection'                                          >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "ServerFlags"' >> $Xcfg_out
echo '  AllowMouseOpenFail'  >> $Xcfg_out
echo '  #DontZap'            >> $Xcfg_out
echo '  #DontZoom '          >> $Xcfg_out
echo 'EndSection'            >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "Files"' >> $Xcfg_out
echo '  RgbPath    "/usr/lib/X11/rgb"'         >> $Xcfg_out
echo '#  ModulePath  "/usr/X11R6/lib/modules"' >> $Xcfg_out

if [ "a$XFS_REMOTE_SERVER" != "a" ] ; then
 # use external font server if defined in Config
 echoc "Server IP $XFS_REMOTE_SERVER" red
 echo "  FontPath   \"tcp/$XFS_REMOTE_SERVER:7100\"" >> $Xcfg_out
else
 echo "  FontPath   \"unix/:-1\""  >> $Xcfg_out
fi

echo '  FontPath   "/usr/share/fonts/local/"' >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/misc/"'  >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/OTF/"'   >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/TTF/"'   >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/Type1/"' >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/CID/"'   >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/Speedo/"'          >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/75dpi/:unscaled"'  >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/100dpi/:unscaled"' >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/75dpi/"'    >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/100dpi/"'   >> $Xcfg_out
echo '  FontPath   "/usr/share/fonts/cyrillic/"' >> $Xcfg_out

echo 'EndSection' >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "Module"'      >> $Xcfg_out
echo '  Load  "GLcore"'      >> $Xcfg_out
echo '  Load  "record"'      >> $Xcfg_out
echo '  Load  "extmod"'      >> $Xcfg_out
echo '  Load  "ddc"'         >> $Xcfg_out
echo '  Load  "int10'        >> $Xcfg_out
echo '  Load  "dbe"'         >> $Xcfg_out
echo '  Load  "dri"'         >> $Xcfg_out
echo '  Load  "glx"'         >> $Xcfg_out
echo '  Load  "xtrap"'       >> $Xcfg_out
echo '  Load  "type1"'       >> $Xcfg_out
echo '  Load  "freetype"'    >> $Xcfg_out
echo '  Load  "speedo"'      >> $Xcfg_out
echo 'EndSection'            >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "DRI"'         >> $Xcfg_out
echo '  Mode 0666'           >> $Xcfg_out
echo 'EndSection'            >> $Xcfg_out

echo '' >> $Xcfg_out

if [ "a$LAYOUT" = "a" ] ; then
 LAYOUT=`echo $LANG | cut -d_ -f1`
 case $LAYOUT in
  "en")
   LAYOUT="us"
  ;;
 esac
fi

echoc "Keyboard  $LAYOUT" gray

echo 'Section "InputDevice"'            >> $Xcfg_out
echo '  Identifier  "Keyboard0"'        >> $Xcfg_out
echo '  Driver      "kbd"'              >> $Xcfg_out
echo '  Option      "XkbModel" "pc105"' >> $Xcfg_out
echo '  Option      "XkbLayout" "'$LAYOUT'"' >> $Xcfg_out
echo 'EndSection'                            >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "InputDevice"'               >> $Xcfg_out
echo '  Identifier  "PS2_Mouse"'           >> $Xcfg_out
echo '  Driver      "mouse"'               >> $Xcfg_out

if [ "a$DeviceType" = "aintellimouse" ] ; then
 echo '  Option      "Protocol" "IMPS/2"'  >> $Xcfg_out
else 
 echo '  Option      "Protocol" "PS/2"'    >> $Xcfg_out
fi

echo '  Option      "Device" "'$PS2dev'"'  >> $Xcfg_out
echo '  Option      "Buttons" "5"'         >> $Xcfg_out
echo '  Option      "ZAxisMapping" "4 5"'  >> $Xcfg_out
echo 'EndSection'                          >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "InputDevice"'               >> $Xcfg_out
echo '  Identifier  "USB_Mouse"'           >> $Xcfg_out
echo '  Driver      "mouse"'               >> $Xcfg_out
echo '  Option      "Protocol" "IMPS/2"'   >> $Xcfg_out
echo '  Option      "Device" "'$USBdev'"'  >> $Xcfg_out
echo '  Option      "Buttons" "5"'         >> $Xcfg_out
echo '  Option      "ZAxisMapping" "4 5"'  >> $Xcfg_out
echo 'EndSection'                          >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "InputDevice"'             >> $Xcfg_out
echo '  Identifier "Synaptics"'          >> $Xcfg_out
echo '  Driver "synaptics"'              >> $Xcfg_out
echo '  Option "SendCoreEvents" "true"'  >> $Xcfg_out
echo '  Option "Device" "'$PS2dev'"'     >> $Xcfg_out
echo '  Option "Protocol" "auto-dev"'    >> $Xcfg_out
echo '  Option "HorizScrollDelta" "0"'   >> $Xcfg_out
echo 'EndSection'                        >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "InputDevice"'                >> $Xcfg_out
echo '  Identifier  "Serial_Mouse0"'        >> $Xcfg_out
echo '  Driver      "mouse"'                >> $Xcfg_out
echo '  Option      "Protocol" "Microsoft"' >> $Xcfg_out
echo '  Option      "Device" "/dev/ttyS0"'  >> $Xcfg_out
echo '  Option      "Emulate3Buttons"'      >> $Xcfg_out
echo 'EndSection'                           >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "InputDevice"'                >> $Xcfg_out
echo '  Identifier  "Serial_Mouse1"'        >> $Xcfg_out
echo '  Driver      "mouse"'                >> $Xcfg_out
echo '  Option      "Protocol" "Microsoft"' >> $Xcfg_out
echo '  Option      "Device" "/dev/ttyS1"'  >> $Xcfg_out
echo '  Option      "Emulate3Buttons"'      >> $Xcfg_out
echo 'EndSection'                           >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "Monitor"'                    >> $Xcfg_out
echo '  Identifier   "Monitor0"'            >> $Xcfg_out
echo '  VendorName   "Monitor Vendor"'      >> $Xcfg_out
echo '  ModelName    "Monitor Model"'       >> $Xcfg_out

if [ "a$MONITOR" = "alow" ]; then
 echo '  HorizSync    31.5 - 48.5'          >> $Xcfg_out
 echo '  VertRefresh  50.0 - 70.0'          >> $Xcfg_out
fi

if [ "a$MONITOR" = "amedium" ]; then
 echo '  HorizSync    24.0 - 80.0'          >> $Xcfg_out
 echo '  VertRefresh  49.0 - 75.0'          >> $Xcfg_out
fi

if [ "a$MONITOR" = "ahigh" ]; then
 echo '  HorizSync    30.0 - 64.0'          >> $Xcfg_out
 echo '  VertRefresh  40.0 - 90.0'          >> $Xcfg_out
fi

if [ "a$MONITOR" = "a"  ] || [ "a$MONITOR" = "aauto"  ] ; then

 ok_DDC_Monitor=`cat /var/log/Xorg.0.log | grep "DDC read successfully"`

 if [ "a$ok_DDC_Monitor" = "a" ] ; then
  echo '  HorizSync    31.5 - 48.5'  >> $Xcfg_out
  echo '  VertRefresh  50.0 - 70.0'  >> $Xcfg_out
 else
  echo '#  HorizSync    31.5 - 48.5' >> $Xcfg_out
  echo '#  VertRefresh  50.0 - 70.0' >> $Xcfg_out
 fi

fi

echo 'EndSection' >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "Device"'             >> $Xcfg_out
echo '  Identifier  "Card0"'        >> $Xcfg_out

# Detect if libGL.so replaced vith nVidia proprietary library
if [ "a$Driver" = "anv" ] || [ "a$Driver" = "avga" ] ; then
 is_nvidia_installed=`cat /usr/lib/libGL.so | grep NVIDIA 2> /dev/null`
 if [ "a$is_nvidia_installed" != "a" ]; then
  Driver="nvidia"
  echoc "Proprietary nVidia driver: $Driver" yellow
 fi
fi

# Detect if fglrx driver is installed - Check your ATI driver installation path
if [ "a$Driver" = "avesa" ] && [ -f /usr/lib/xorg/modules/drivers/fglrx_drv.so ]; then
 Driver="fglrx"
 echoc "Proprietary ATI driver: $Driver" yellow
fi

# some nVidia are detected as vga ... change to vesa in this cases
if [ "a$Driver" = "avga" ] ; then
 Driver="vesa"
fi

if [ -a $Xcfg_new ]; then 
 echo "  Driver      \"$Driver\""      >> $Xcfg_out
 echo "  VendorName  \"$VendorName\""  >> $Xcfg_out
 echo "  BoardName   \"$BoardName\""   >> $Xcfg_out
 echo "  BusID       \"$BusID\""       >> $Xcfg_out

 if [ "a$BoardName" = "aET6000" ]; then
 echo "  videoram    2048"             >> $Xcfg_out
 fi

else
 echo '  Driver      "vesa"'         >> $Xcfg_out
 echo '  VendorName  "All Vendors"'  >> $Xcfg_out
 echo '  BoardName   "Vesa Generic"' >> $Xcfg_out
 echo '  ChipSet     "vesa"'         >> $Xcfg_out
 echo '  Card        "vesa vesa"'    >> $Xcfg_out
fi

echo "  Option      \"ColorTiling\" \"On\""             >> $Xcfg_out
echo "  Option      \"EnablePageFlip\" \"True\""        >> $Xcfg_out
echo "  Option      \"AccelMethod\" \"XAA\""            >> $Xcfg_out
echo "  Option      \"XAANoOffscreenPixmaps\" \"True\"" >> $Xcfg_out

echo 'EndSection'                   >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "Screen"'             >> $Xcfg_out
echo '  Identifier "Screen0"'       >> $Xcfg_out
echo '  Device     "Card0"'         >> $Xcfg_out
echo '  Monitor    "Monitor0"'      >> $Xcfg_out

if [ "a$X_COLOR_DEPTH" != "a"  ]; then
 echo "  DefaultDepth  $X_COLOR_DEPTH"  >> $Xcfg_out
else
 echo '  DefaultDepth  24'        >> $Xcfg_out
fi

echo '    Option    "RenderAccel" "True"'            >> $Xcfg_out
echo '    Option    "AllowGLXWithComposite" "True"'  >> $Xcfg_out
echo '    Option    "AddARGBGLXVisuals" "True"'      >> $Xcfg_out
echo '#    Option    "XAANoOffscreenPixmaps" "True"' >> $Xcfg_out

if [ "a$X_SCREEN_MODES" != "a"  ]; then
 MODES_=$X_SCREEN_MODES
else
 MODES_='"1366x768" "1280x800" "1280x1024" "1024x768" "800x600"'
fi

echo '  SubSection "Display"' >> $Xcfg_out
echo '    Depth     1'        >> $Xcfg_out
echo "    Modes    $MODES_"   >> $Xcfg_out
echo '  EndSubSection'        >> $Xcfg_out
echo '  SubSection "Display"' >> $Xcfg_out
echo '    Depth     4'        >> $Xcfg_out
echo "    Modes    $MODES_"   >> $Xcfg_out
echo '  EndSubSection'        >> $Xcfg_out
echo '  SubSection "Display"' >> $Xcfg_out
echo '    Depth     8'        >> $Xcfg_out
echo "    Modes    $MODES_"   >> $Xcfg_out
echo '  EndSubSection'        >> $Xcfg_out
echo '  SubSection "Display"' >> $Xcfg_out
echo '    Depth     15'       >> $Xcfg_out
echo "    Modes    $MODES_"   >> $Xcfg_out
echo '  EndSubSection'        >> $Xcfg_out
echo '  SubSection "Display"' >> $Xcfg_out
echo '    Depth     16'       >> $Xcfg_out
echo "    Modes    $MODES_"   >> $Xcfg_out
echo '  EndSubSection'        >> $Xcfg_out
echo '  SubSection "Display"' >> $Xcfg_out
echo '    Depth     24'       >> $Xcfg_out
echo "    Modes    $MODES_"   >> $Xcfg_out
echo '  EndSubSection'        >> $Xcfg_out
echo 'EndSection'             >> $Xcfg_out

echo '' >> $Xcfg_out

echo 'Section "Extensions"'         >> $Xcfg_out
echo ' Option "Composite" "Enable"' >> $Xcfg_out
echo 'EndSection'                   >> $Xcfg_out

echo '' >> $Xcfg_out
vorrei riavere le mie firme ...

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Re: autoX - perché no ?

Messaggio da lamarozzo »

Con che versione di Xorg funziona il tuo script? Io uso la 1.6 e ho abilitato l'input hotplugging, quindi dovrei comunque eliminare tutte le righe che riguardano tastiera e touchpad.

Comunque hai avuto un'ottima idea, non avere X funzionante all'avvio puo' essere abbastanza frustrante per uno alle prime armi. :thumbright:

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: autoX - perché no ?

Messaggio da absinthe »

in realtà i server più recenti (non ricordo se dal 1.5 o dal 1.6) potrebbero funzionare con un config automatico basato su hal/dbus/udev... semplicemente pat non lo ha ancora abilitato perchè rilevava problemi in alcuni casi. se tutto andrà bene la prossima slack avrà xorg con configurazione onthefly basata su hal.

M

PS: comunque complimenti per l'idea.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: autoX - perché no ?

Messaggio da Mario Vanoni »

absinthe ha scritto:in realtà i server più recenti (non ricordo se dal 1.5 o dal 1.6) potrebbero funzionare con un config automatico basato su hal/dbus/udev... semplicemente pat non lo ha ancora abilitato perchè rilevava problemi in alcuni casi. se tutto andrà bene la prossima slack avrà xorg con configurazione onthefly basata su hal.
E chi fa chmod 0000 /etc/rc.d/rc.hald per evitare demoni?

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Re: autoX - perché no ?

Messaggio da lamarozzo »

Mario Vanoni ha scritto: E chi fa chmod 0000 /etc/rc.d/rc.hald per evitare demoni?
Non preoccuparti, anche con il nuovo Xorg si puo' disattivare l'hotplugging (hal) e torna tutto come prima. Il bello di Linux e' che non si butta via niente, xorg.conf compreso! :D

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: autoX - perché no ?

Messaggio da Ansa89 »

Molto comodo, davvero un bel lavoro =D> .

Avatar utente
zoros
Linux 4.x
Linux 4.x
Messaggi: 1361
Iscritto il: lun 28 mag 2007, 22:51
Nome Cognome: Fabio`Zorba`
Slackware: 14.1
Kernel: 3.10.30-smp
Desktop: KDE-3.5(works!)
Località: Gorizia
Contatta:

Re: autoX - perché no ?

Messaggio da zoros »

lamarozzo ha scritto:Con che versione di Xorg funziona il tuo script? Io uso la 1.6 e ho abilitato l'input hotplugging, quindi dovrei comunque eliminare tutte le righe che riguardano tastiera e touchpad.
...
Come puoi vedere lo script viene da lontano nel senso che lo uso da molti anni ... infatti nello script rimane traccia di come si è evoluto, per esempio queste due righe:

Codice: Seleziona tutto

USBdev=/dev/input/mice
PS2dev=/dev/psaux
... in realtà poi nel "Server Layout" usa sempre "/dev/input/mice" per il puntatore perché le recenti versioni di Xorg fanno passare tutto per lì ... alcuni anni fa per trovare il mouse si doveva usare un programmino esterno "mdetect" che poi non sempre ci azzeccava ...

insomma Xorg si è ben evoluto in questi anni per cui sono sempre meno le cose da aggiustare esternamente ... speriamo che ad un certo punto non ci sia più bisogno di script simili, anche perché visti gli "effetti speciali" che abbiamo a disposizione oggi sembra assurdo che non ci sia di serie un autox degno di questo nome ...

ritornando alle versioni: questa versione non troverà il mouse su X troppo datati ... testato su Xorg compatto 7.2 - Zenwalk, sulla modulare 1.4.2 di Slackware 12.2 e su Bluewhite 12.0 ... e su altre distro

P.S. se hai la 1.6 potresti proprio fare una prova ... io sono convinto che l'xorg.conf generato funzionerebbe ugualmente (per capire se esiste una sorta di compatibilità automatica tra l'approccio tradizionale e le novità introdotte nella 1.6)
vorrei riavere le mie firme ...

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: autoX - perché no ?

Messaggio da absinthe »

absinthe ha scritto:in realtà i server più recenti (non ricordo se dal 1.5 o dal 1.6) potrebbero funzionare con un config automatico basato su hal/dbus/udev...
mi correggo: in realtà la cosa era già stata testata con la slack 12.2 quindi hal "funziona" dal server 1.4 in poi.

M

Avatar utente
zoros
Linux 4.x
Linux 4.x
Messaggi: 1361
Iscritto il: lun 28 mag 2007, 22:51
Nome Cognome: Fabio`Zorba`
Slackware: 14.1
Kernel: 3.10.30-smp
Desktop: KDE-3.5(works!)
Località: Gorizia
Contatta:

Re: autoX - perché no ?

Messaggio da zoros »

Ansa89 ha scritto:Molto comodo, davvero un bel lavoro =D> .
sono un po' sorpreso nel ricevere dei complimenti da giovani che si sono distinti per aver prodotto dei corposi ed interessanti script ... ringrazio moltissimo, ma il mio script non è un bel lavoro, però funziona e potrà essere utile ancora per un po' ... non l'ho pubblicato prima per una serie di motivi, in particolare perché non usava "sed" ma si appoggiava ad un binario esterno fatto da me, una specie di sed ma più "fuzzy" (non sopporto la precisone e l'ermeticità delle espressioni regolari ... cioè non le comprendo :cry: ... non sono molto regolare :) ) ...

comunque, volendo passare delle idee e non un programma ho fatto uno sforzo per creare un testo da copiare e incollare anche a pezzettini, una cosa che non impegni nessuno (alla fine una stupidissima riga con sed fa tutto ciò che serve) ...

mi piace pensare che slacky.eu possa essere luogo in cui proporre qualcosa "a proposito di Slackware" (e non solo da sfruttare per i tgz) ... per fare questo bisogna però leggere, non solo scrivere ... non sempre si ottengono dei feedback utili ... quindi grazie ...
vorrei riavere le mie firme ...

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: autoX - perché no ?

Messaggio da conraid »

absinthe ha scritto:
absinthe ha scritto:in realtà i server più recenti (non ricordo se dal 1.5 o dal 1.6) potrebbero funzionare con un config automatico basato su hal/dbus/udev...
mi correggo: in realtà la cosa era già stata testata con la slack 12.2 quindi hal "funziona" dal server 1.4 in poi.
testata e poi accantonata, infatti l'aggiornamento di X non ci fu proprio per questo motivo, e continua a non esserci purtroppo :-(
E' dalla 1.5 che fa tutto in automatico (oddio, volendo in alcune configurazioni anche con la 1.4, ma in modo diverso), e la 1.6 sembra meglio. Doveva uscire la 1.7 in questi giorni, ma è stata rimanda a Luglio

Avatar utente
brainvision
Packager
Packager
Messaggi: 761
Iscritto il: ven 26 dic 2008, 18:23
Nome Cognome: Leonardo Totaro
Slackware: x86_64-current
Kernel: 3.7.1
Desktop: xfce 4.10
Località: bologna (bo)
Contatta:

Messaggio da brainvision »

[quote="Mario Vanoni".
E chi fa chmod 0000 /etc/rc.d/rc.hald per evitare demoni?[/quote]

Salve a tutti voi ragazzi e ragazze di slacky.eu.. più passa il tempo più mi rendo conto di esser davvero fortunato per far parte di questa splendidà comunità!!!
Comunque..
Spero di non finire troppo fuori argomento, ma volevo sapere, se possibile, a cosa serve il comando segnalato da Mario Vanoni.. nel senso: so come perché e quando si usa chmod.. maq 0000 che tipo permessi assegna? E con quel comando, poi, blocco i demoni automatici dello syartup? Demoni tipo cups, cron, dbus eccetera?

Grazie in anticipo a chi vorrà chiarire questi miei dubbicini..

P.S. Altra cosa: leggendo un vecchio post in giro sul forum, qualche giorno fa, ho notato un messaggio in cui si diceva che la slackware 11.0 (mi pare) avesse improvvidamente introdotto tutto un'insieme di directory per i file di configurazione, directory come rc. d, rc1.d, rc2.d.. Chi scriveva si "lamentava" di aver trovato questa modifica troppo brusca, improvvisa e spiazzante.. lì per lì, ovviamente..
A parte i commenti su questo tipo di scelta, mi viene la curiosità di sapere come funzionava prima della 11.0 (ma in realtà non ricordo se sia stata la 11 a introdurre questa novità, quindi teniamola per buona al 70%)!

Questo è davvero tutto, amici.. Saluti calorosi e alla prossima..

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re:

Messaggio da conraid »

brainvision ha scritto:maq 0000 che tipo permessi assegna? E con quel comando, poi, blocco i demoni automatici dello syartup? Demoni tipo cups, cron, dbus eccetera?
Sì, chmod 0000 rimuove i permessi, ma meglio fare

Codice: Seleziona tutto

chmod -x 
per rendere "solamente" non eseguibile un file di avvio

brainvision ha scritto:A parte i commenti su questo tipo di scelta, mi viene la curiosità di sapere come funzionava prima della 11.0 ..
Uguale ad adesso, quelle directory sono vuote, e sono state messe per compatibilità con alcuni software che le cercano in fase di installazione/avvio/esecuzione

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: autoX - perché no ?

Messaggio da Ansa89 »

Oggi ho ritrovato lo script che usa back track per configurare automaticamente X all'avvio, però non tiene conto dei driver proprietari (se installati) e non aggiunge le clausole per poter avviare compiz.
Di seguito lo script:

Codice: Seleziona tutto

GENERATED_CONFIGFILE=$HOME/xorg.conf.new
XConfig=/etc/X11/xorg.conf

. /etc/X11/gui.conf

if [ "$SKIP_XCONF" = "yes" ]; then
   echo "The file /etc/X11/gui.conf disallows xconf autoconfiguration, skipping."
   echo "This is normal if you have own module with xorg.conf configuration."
else

   echo "Trying to autoconfigure Xwindow system, please wait..."
   /usr/bin/X -configure 2>/dev/null

   if [ ! $? = 0 ]; then
      echo "cannot run auto config. Try xorgsetup (menu) or xorgconfig (plaintext) commands."
      exit 1
   fi

   echo "creating $XConfig..."
   rm -f $XConfig

   cat $GENERATED_CONFIGFILE | egrep -v "^[[:space:]]*#" | while read LINE ;
   do
     # configure mouse
     if echo $LINE | egrep -i "/dev/mouse" 1>/dev/null ; then
        echo "Option \"ZAxisMapping\" \"4 5\"" >> $XConfig
        echo "Option \"Buttons\" \"3\"" >> $XConfig
     fi
     echo "$LINE" >> $XConfig
   done

   if [ "$CONF_EXTENSIONS" = "yes" ]; then
      echo "Section \"Extensions\"" >>$XConfig
      echo "  Option \"Composite\" \"Enable\"" >>$XConfig
      echo "EndSection" >>$XConfig
   fi

   rm -f $GENERATED_CONFIGFILE
   echo "all done. Run startx now."

fi

echo "If you get black screen or Out-Of-Sync, hit Ctrl+Alt+NumPlus few times"
Lo script si basa sul file di configurazione "/etc/X11/gui.conf" (che può anche essere vuoto); magari agendo su questo file si possono anche aggiungere le features richieste da zoros, ma io l'ho sempre usato a livello base (nel senso che il mio "/etc/X11/gui.conf" è stato generato con "touch /etc/X11/gui.conf").
Spero che possa essere di aiuto :roll: .

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Re:

Messaggio da Mario Vanoni »

conraid ha scritto:
brainvision ha scritto:maq 0000 che tipo permessi assegna? E con quel comando, poi, blocco i demoni automatici dello syartup? Demoni tipo cups, cron, dbus eccetera?
Sì, chmod 0000 rimuove i permessi, ma meglio fare

Codice: Seleziona tutto

chmod -x 
per rendere "solamente" non eseguibile un file di avvio
Corrado

chmod [-R] 0000 ...
ha un grande pregio, se fai p. e. in /etc/rc.d
ls -al
vedi a prima vista i files disattivati!

Codice: Seleziona tutto

total 344
drwxr-xr-x 10 root root  4096 2009-04-27 09:08 .
drwxr-xr-x 65 root root  4096 2009-04-28 16:41 ..
d---------  2 root root  4096 2007-05-15 04:46 init.d
lrwxrwxrwx  1 root root     4 2008-12-12 10:56 rc.0 -> rc.6
-rwxr-xr-x  1 root root  1282 2007-03-27 03:12 rc.4
-rwxr-xr-x  1 root root  7453 2008-12-02 21:32 rc.6
-rwxr-xr-x  1 root root  2425 2008-12-02 21:31 rc.K
-rwxr-xr-x  1 root root 10662 2008-12-02 23:36 rc.M
-rwxr-xr-x  1 root root 14376 2008-12-03 06:07 rc.S
----------  1 root root   466 2008-11-20 19:13 rc.acpid
-rwxr-xr-x  1 root root  2672 2008-12-03 02:49 rc.alsa
-rwxr--r--  1 root root  1032 2008-12-13 14:17 rc.apcupsd
----------  1 root root  1032 2003-02-02 04:47 rc.atalk
-rwxr-xr-x  1 root root  3116 2008-04-13 23:48 rc.bind
----------  1 root root  3303 2008-11-11 23:36 rc.bluetooth
----------  1 root root  1051 2008-11-11 23:36 rc.bluetooth.conf
-rwxr-xr-x  1 root root  4318 2008-10-22 01:15 rc.cups
----------  1 root root   512 2008-11-25 22:26 rc.dnsmasq
-rwxr-xr-x  1 root root   119 2004-05-30 06:19 rc.font.new
----------  1 root root  1893 2008-10-22 06:41 rc.fuse
-rwxr-xr-x  1 root root  1156 2009-03-08 21:08 rc.gpm
----------  1 root root   906 2008-12-08 02:14 rc.hald
----------  1 root root   703 2008-10-23 00:55 rc.httpd
-rwxr-xr-x  1 root root  9437 2008-12-08 05:53 rc.inet1
-rw-------  1 root root  3612 2008-12-12 11:07 rc.inet1.conf
-rwxr-xr-x  1 root root  4847 2007-09-18 00:07 rc.inet2
-rwxr-xr-x  1 root root   497 2003-09-12 05:27 rc.inetd
-rwxr-xr-x  1 root root  2684 2008-12-03 23:58 rc.ip_forward
-rwxr-xr-x  1 root root   405 2009-04-09 10:55 rc.local
-rwxr-xr-x  1 root root    52 2008-06-10 17:19 rc.local_shutdown
----------  1 root root  1740 2008-12-08 02:10 rc.messagebus
lrwxrwxrwx  1 root root    23 2008-12-12 10:55 rc.modules -> rc.modules-2.6.27.7-smp
----------  1 root root 31891 2008-11-21 06:15 rc.modules-2.6.27.7
----------  1 root root 31891 2008-11-21 05:29 rc.modules-2.6.27.7-smp
----------  1 root root  2585 2008-10-05 07:29 rc.mysqld
-rwxr-xr-x  1 root root   123 2008-12-12 11:07 rc.netdevice
-rwxr-xr-x  1 root root  2457 2008-10-25 21:21 rc.nfsd
----------  1 root root   749 2008-11-26 05:30 rc.ntpd
----------  1 root root  1722 2007-03-16 22:09 rc.pcmcia
-rwxr-xr-x  1 root root  1402 2007-05-18 00:53 rc.rpc
----------  1 root root   791 2008-11-28 22:11 rc.samba
----------  1 root root  1169 2006-05-27 22:24 rc.saslauthd
-rwxr-xr-x  1 root root   687 2002-06-04 23:09 rc.sendmail
----------  1 root root  2895 2008-09-11 03:30 rc.serial
----------  1 root root   895 2008-11-14 01:32 rc.snmpd
-rwxr-xr-x  1 root root  1477 2008-07-24 19:39 rc.sshd
-rwxr-xr-x  1 root root   996 2008-12-13 17:50 rc.syslog
-rwxr-xr-x  1 root root  1740 1999-09-11 22:48 rc.sysvinit
-rwxr-xr-x  1 root root  4231 2009-04-23 15:34 rc.udev
----------  1 root root 12496 2008-11-29 23:00 rc.wireless
----------  1 root root  7320 2008-11-29 23:00 rc.wireless.conf
-rwxr-xr-x  1 root root  2323 2005-08-01 01:56 rc.yp
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc0.d
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc1.d
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc2.d
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc3.d
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc4.d
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc5.d
drwxr-xr-x  2 root root  4096 2007-05-15 04:46 rc6.d

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: autoX - perché no ?

Messaggio da absinthe »

Offtopic: scusa Mario, una curiosità...
se non utilizzi un demone perchè non rimuovi direttamente il pacchetto? magari non è sempre possibile ma ad esempio acpid può semplicemente non essere installato. c'è una ragione specifica per preferire la tua soluzione o è solo una questione di "filosofia" tecnica (ad es.: preferisco installare tutto e disattivare quello che non serve)?


M

Rispondi