x works setting inittab in 4 but not three
This is rather frustrating :(
Recently I changed my inittab to runlevel 4 for convience. Yesterday I changed it back to 3 and rebooted. I got the following error and could not startx Quote:
Any clues? |
Not to sure if this may help but this guy had a somewhat similar situation. He found a workaround but no explanation as to why it happened.
Code:
Well -- seems nobody knows any better than I... {:-/) Got no suggestions. http://forum.soft32.com/linux/Server...ict354528.html |
try running xwmconfig to reset what your ~/.xinitrc is. Did your permissions get changed on any of your X server files?
|
Thanks, but I think that is a stab in the dark.
I don't think slackware uses pam. Since I never access my box via remote, I disabled ssh and never used telnet before. I googled around for a while but still have not found a solution. I guess there could be a great variety of reasons. What if I deleted xorg.conf would it build a new one? I guess I could try xorgconfig and see what possible changes might be done. I tried reinstalling the nvidia driver but it did not good. I could not find the xorg log anywhare on my system to find greater details as to what is causing the problem. |
Quote:
Don't delete your xorg.conf, just back it up and run xorgconfig again and just use the "vesa" or "nv" driver. After you run xorgconfig, then compare it to your backed up one to see what the culprit might be, granted it works. I have no clue but you maybe on the right track to figure it out. |
Quote:
I restored the xorg.conf that I backed up some time ago and still no good. I also tried a second kernel on my system to no avail. :( |
When init 3 is the default, Slackware will do nothing after running /etc/rc.d/rc.M. The user logs in and in the stock Slackware, nothing happens. The user then types startx to start X. startx is a shell script located in /usr/bin. The startx script looks for certain files when starting X. If the user has a .xinitrc file in $HOME, then that file gets used for customization. If not then the default system xinitrc located in /etc/X11/xinit is used. The /etc/X11/xinit/xinitrc file is a soft link to one of the xinit files located in the same directory.
When init 4 is the default, Slackware runs rc.M but then init runs rc.4, which is defined in /etc/inittab. That the system runs X fine in init 4 but not in init 3 indicates a problem with either $HOME/.xinitrc or /etc/X11/xinit/xinitrc. Running xwmconfig as root will properly link /etc/X11/xinit/xinitrc to the desired xinit file. Running xwmconfig as non-root creates a new $HOME/.xinitrc. Consider trying both operations. |
Quote:
|
Woodsman,
I greatly appreciate the help and the lesson on how things work. I tried xwmconfig for both root and user with out success :( Could the /etc/X11/xinit/xinitrc.kde file somehow got corrupted? BTW I ran xwmconfig by opening up a console while in runtime 4, edited inittab and rebooted. Only to come up with the same error. Could I copy the xinitrc.kde from the slack disks? |
In runtime 3 I changed to xfce and then fluxbox using xwmconfig. Still to no avail I get the same error. Therefore, I can deduce that xinitrc.kde is not corrupt.
The same thing happens for either root or user. I am not sure what else to do. |
I say take a look at '/usr/bin/startx' and post the first 30 lines at least.
|
As H_TeXMeX_H mentioned, perhaps /usr/bin/startx is corrupt. In 12.1 that shell script is installed from the x/xinit-1.0.8-i486-1.tgz package. You might want to reinstall that package.
If you have a file named $HOME/.xsession-errors then look in that log file for errors or clues. If you do not have such a file then watch the screen for error messages. Another log to check is /var/log/Xorg.0.log. Typically X will start with warnings but not always start with errors. To search the file for errors (EE) and warnings (WW): grep '(EE)' /var/log/Xorg.0.log grep '(WW)' /var/log/Xorg.0.log |
"no listen" sounds like it might be the -nolisten parameter of the Xserver. It's possible that someone or some package was trying to tighten security a little by setting this parameter but hasn't quite gotten the syntax right.
I usually start X11 with a startx -- -nolisten tcp If you want to set nolisten to be a default for startx, one common way is to create a ~/.xserverrc file containing the parameter, or /etc/X11/xinit/xserverrc if its been done system wide. It could possibly be in other files though. if you don't have any luck looking in those two files, try to see if you can find it with a grep 'listen' ~/.x* |
GazL,
That did the trick! Thanks a bunch! A while back, I followed some of the pointers in Slackware System Hardening by Jeffery Denton. Since I have been using runtime 4 for a while, I would not have noticed the problem upon rebooting. Luckily I copied the tutorial to word processing and highlighted all of the steps I had taken. I can therefore sequentially change back what I has previously incorporated into my system. Furthermore, here is an excerpt about closing ports in his tutorial: Code:
/usr/X11R6/bin/startx: I have two questions a little off topic, 1. Why does x require the above ports to be kept open. Specifically port 6000? Is it that x can be run as a server for multiple computers to access? What is the point of the x server? 2. SqdnGuns stated, "just use the "vesa" or "nv" driver". How do you switch video drivers? This has been a most educational process. I greatly appreciate all of your help. :) |
Quote:
1 X is network aware. what that means is that I can run a X application on one server and have it display its windows on another X screen running on a different box entirely. You do this by setting the $DISPLAY variable before running the application. It works over tcp. Port 6000 sits there listening for these incoming connections, which is why specifying -nolisten tcp can help improve the security of your box a little bit. 2 the Xserver driver is set in /etc/X11/xorg.conf in the Device section. |
All times are GMT -5. The time now is 07:32 PM. |