VNC might be the reason for the failure. The Xorg.0.conf may have not have been what we thought it was since VNC is installed. I’d agree with @WayneWWW that you will probably find the simplest solution to reflash, which I’ll explain.
Linux can actually run more than one X server. Each X server is an independent GUI. When logged in locally one would use a different key binding to get to different terminals; the default is that there is one GUI and several text terminals. A GUI is just another terminal, although it is a different program than the getty
which is for text. Whenever any GUI runs it has an environment variable called “DISPLAY
” to identify which server GUI software will talk to. If you first “export DISPLAY=:0
”, then run a GUI program, the program will run on that DISPLAY
(if you have permission). That program, if it encounters X errors, will log to “/var/log/Xorg.0.log
”. Had the DISPLAY
been “:1
”, then it would have logged to “Xorg.1.log
” instead of “Xorg.0.log
”. The VNC server will also be a different DISPLAY
. The Xorg.0.log
might not be related to the currently failed locally connected monitor.
You should try and make any logs for X correspond to the physical monitor by not connecting with VNC and using ssh
or serial console (or better yet flashing again and removing VNC since this might be a configuration getting in the way of the local X server). If you reboot and run this command it will sort logs in the order they were last touched:
ls -ltr /var/log/Xorg.*.log
The last log showing up will be the most recently updated log. There might be two logs, the lowest numbered most likely (but not guaranteed) to be the local monitor; any second (higher numbered) log would be from the VNC server. Perhaps there is only one log for this reboot (check timestamps), in which case either VNC or the local log is missing. Logging in to VNC likely changes timestamps, so you’d want to check this with only the local monitor connected (serial console would guaranteeVNC might be the reason for the failure. The Xorg.0.conf may have not have been what we thought it was since VNC is installed. I’d agree with @WayneWWW that you will probably find the simplest solution to reflash, which I’ll explain.
Linux can actually run more than one X server. Each X server is an independent GUI. When logged in locally one would use a different key binding to get to different terminals; the default is that there is one GUI and several text terminals. A GUI is just another terminal, although it is a different program than the getty
which is for text. Whenever any GUI runs it has an environment variable called “DISPLAY
” to identify which server GUI software will talk to. If you first “export DISPLAY=:0
”, then run a GUI program, the program will run on that DISPLAY
(if you have permission). That program, if it encounters X errors, will log to “/var/log/Xorg.0.log
”. Had the DISPLAY
been “:1
”, then it would have logged to “Xorg.1.log
” instead of “Xorg.0.log
”. The VNC server will also be a different “number”, but this is not set in stone as to what number it will be. The typical virtual server will start at “DISPLAY=:10
”, which means often the log will be “Xorg.10.log
”. The actual number will change dependin this, or ssh
without forwarding enabled).
The log I saw posted earlier had no errors. I did not know VNC was installed, and this is often a source of causing the local server to fail due to configuring VNC getting in the way of the local server configuration. It is extremely unlikely that the successful log was associated with the monitor which was failing. More likely adding VNC is what did this (thus flashing will fix it, or else the log was the wrong one).
Regardless, if we are to use a log to debug, then we have to go through steps to make sure it isn’t the wrong log.