[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: un xorg.conf par session X





Hugues LARRIVE a écrit :
maderios a écrit :
Hugues LARRIVE a écrit :
Bonjour,

maderios a écrit :
Je vois une autres solutions à ton problème en utilisant xrandr pour
changer de mode video juste après le lancement de X :
Si dans ton xorg.conf tu as :
Section "Screen"
    ...
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1980x1440" "1280x1024"
    EndSubSection
EndSection

Tu ouvres une session (depuis un tty) avec l'utilisateur qui veut du
1280x1024 puis tu fais :
echo "xrandr -s 1" > .xinitrc
cat /etc/X11/xinit/xinitrc >> .xinitrc
startx -- :1

Bien compliqué quand on travaille....et que l'on est prsé
Une fois que c'est fait il n'y a plus qu'à faire le startx -- :1.
Si c'est trop compliqué il y a toujours gdmflexiserver et gnome qui font
tout ça très simplement.
ou encore tu peux personnaliser le lancement du serveur X en créant un
fichier ~/.xserverrc :
#!/bin/sh
exec /usr/bin/X11/X :1 -dpi 100 -nolisten tcp -config
/etc/X11/xorg.conf-2

comme ça tu n'as même plus besoin de mettre -- :1 après startx.

J'ai essayé  ça aussi et j'ai le droit à :

cannot move old log file ("/var/log/Xorg.1.log" to
"/var/logXorg.1.log.old")

Donc c'est bien un problème de droits sur les logs à résoudre de façon
sécurisée


Moi j'obtiens ça en faisant Xorg :1 depuis la console, avec X :1 ça
fonctionne sans problème. /usr/bin/X est un binaire setuid donc il se
lance en tant que root et donc pas de problème de droits.
On peut utiliser un fichier de log alternatif comme pour le fichier de
config avec -logfile, comme ça plus de problème de droits mais après tu
auras des problèmes de droits sur les périphériques.

X est obligatoirement lancé avec les droits de super utilisateur
(binaire setuid) et c'est la solution la plus sécurisée.

J'ai créé 2 fichiers à partir de /var/log/Xorg.1.log  et
/var/log/Xorg.1.log.old :
/var/log/Xorg2.1.log  et /var/log/Xorg2.1.log.old
si je fais
X  :1  -config  ./xorg2.conf  -logfile  /var/log/Xorg2.1.log

"Fatal server error
Cannot move old log file...."

Cela semble toujours être un problème de droit
Effectivement, ça ne fonctionne pas avec l'option -config. J'ai réussi à
contourner avec -logfile /tmp/Xorg.test.log (sans créer le fichier avant
mais après j'ai :
Fatal server error:
sf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)

En cherchant dans google, j'ai trouvé qu'il fallait recompiler le noyau
sans grsec (un patch ou une option qui augmente la securité si mes
souvenirs sont bons) mais on a dit qu'on voulait régler le problème de
façon sécurisé donc ce n'est pas envisageable.

Visiblement l'option -config pose beaucoup de barrières pour les
utilisateurs non root. Je pense qu'elle est surtout faite pour tester
une configuration... pas pour une utilisation courante.

Je te conseil vivement de chercher dans une autre voie avec un seul
fichier de configuration :
Dans ton fichier de configuration tu ajoutes une section screen
identique à la première mais avec un Identifier différent et le mode
vidéo souhaité puis tu lance X avec l'option -screen [Identifier]. Il y
a aussi des option -keyboard et -pointer pour des configuration de
clavier / souris alternatives et enfin -layout pour les cas les plus
complexes. Par exemple :

Section "Screen"
        Identifier      "Default Screen"
        Device          "Nvidia"
        Monitor         "Écran générique"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1980x1440"
        EndSubSection
EndSection

Section "Screen"
        Identifier      "Screen2"
        Device          "Nvidia"
        Monitor         "Écran générique"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1280x1024"
        EndSubSection
EndSection


X :1 -screen Screen2

Là pas de problème de droits.
Ton message d'origine disait  "Je lance couramment 2 sessions X en même
temps", comment faisais-tu ? parce que là on sort complètement du
problème de fichier de conf ou mode vidéo différents.

Depuis X
je fais Ctrl+Alt F2 , je me connecte en tant qu'autre utilisateur et
je lance X
@+
PS : ça fait 2 fois que tu m'adresses les email avec la liste en cc, il
faut les adresser à la liste uniquement.

Mille excuses

Pas grave, si tu pouvais aussi poster en texte seulement ce serait cool.
@+

OK, merveille,  ça fonctionne avec ça :
Section "Screen"
       Identifier      "Screen2"
       Device          "Matrox Graphics, Inc. MGA G550 AGP"
       Monitor         "Monitor"
       SubSection "Display"
               Depth           24
Modes "1920x1440" "1280x1024" "1024x768" "800x600" "640x480
       EndSubSection
EndSection

Et je fais
startx -- :1 -screen Screen2
A noter que si je fais "X" à la place de startx, le windowmanager (E17) n'est pas lancé :-) Grand merci pour cette aide. Je ne voyais vraiment pas comment m'en sortir.
Et puis ça confirme que Linux/GNU/Debian est bidouillable,   à l'infini...
Bon week-end
M
PS : ce message est normalement posté en texte



Reply to: