Responda em 2 palavras:
A localização do Xserver para GDM é codificada permanentemente em tempo de compilação em configure.ac, linha 1199 na variável X_SERVER e não pode ser configurado. Então, você pode jogar com links simbólicos, ligando /usr/bin/Xorg
(ou, menos provavelmente /usr/bin/X
, veja this ) para sua compilação do Xserver.
Detalhes:
Eu também tenho um Debian 7 e aqui está minha árvore de processos:
|-gdm3-+-gdm-simple-slav-+-Xorg
| | |-gdm-session-wor-+-gnome-session-+-bluetooth-apple---{bluetooth-apple}
| | | | |-evolution-alarm---2*[{evolution-alarm}]
| | | | |-gdu-notificatio
| | | | |-gnome-fallback----2*[{gnome-fallback-}]
| | | | |-gnome-panel-+-gnome-terminal-+-bash
| | | | | | |-bash---vi
| | | | | | |-bash-+-less
| | | | | | | '-pstree
| | | | | | |-gnome-pty-helpe
| | | | | | '-3*[{gnome-terminal}]
| | | | | |-iceweasel-+-plugin-containe-+-4*[gtk-gnash]
| | | | | | | '-{plugin-containe}
| | | | | | '-31*[{iceweasel}]
| | | | | |-pidgin
| | | | | '-3*[{gnome-panel}]
| | | | |-gnome-screensav---2*[{gnome-screensav}]
| | | | |-gnome-settings----2*[{gnome-settings-}]
| | | | |-gnome-sound-app---{gnome-sound-app}
| | | | |-metacity---3*[{metacity}]
| | | | |-nm-applet---{nm-applet}
| | | | |-notification-da---{notification-da}
| | | | |-polkit-gnome-au---{polkit-gnome-au}
| | | | |-ssh-agent
| | | | |-tracker-miner-f---2*[{tracker-miner-f}]
| | | | |-tracker-store---6*[{tracker-store}]
| | | | '-3*[{gnome-session}]
| | | '-2*[{gdm-session-wor}]
| | '-{gdm-simple-slav}
| '-{gdm3}
Então, o Xorg é iniciado via gdm-simple-slave. Definitivamente, /etc/gdm/Init/Default
não tem nada a ver com o início do Xserver, como foi dito aqui e aqui .
Houve algumas indicações , que é impossível configurar, como o X é iniciado a partir do gdm.
Eu decidi procurar códigos fonte, que são bem estruturados. Então:
Vá para os códigos-fonte , há um daemon , que contém um INTERNOS arquivo, explicando a estrutura do código.
Lá você pode ler:
** GdmServer
A class, used by the slave, that manages running a local X Server.
Assim, o arquivo que precisamos é link
Existem várias funções aninhadas, responsáveis por chamar o servidor X e criar seus argumentos de linha de comando.
A função diretamente responsável pela execução do processo do servidor X é gdm_server_spawn , que gera o X na linha 694 com glib g_spawn_async_with_pipes .
Então, vamos descobrir como o argv
é formado. Bem, em duas palavras é linha 293 e precisamos do valor de X_SERVER macro (a menos que você esteja usando o systemd da RedHat em vez de sysVinit, mas você não está:)).
Infelizmente, esta macro é aparentemente formada em configure.ac, linha 1199 e é codificado. Então, parece que a melhor opção é colocar um link simbólico na sua compilação do Xserver para um desses locais.