Solved

Error: Gtk-WARNING **: cannot open display

Posted on 2008-06-11
16
3,339 Views
Last Modified: 2013-12-06
Hi guys,

I have 2 redhat machines and they are redhat 5 and redhat 4. I setup rlogin for both machines so can rlogin from either of machines to the other. Let's call redhat 5 is pc5 and redhat 4 is pc4.

So far rlogin works for me. When i'm in pc5 and want to connect to pc4 by use this command below:

rlogin -l username 192.168.1.4

after i got log in, I can't open a graphic application from terminal line which I can do it when i was  in pc4.

The error message is : Gtk-WARNING **: cannot open display.

The purpose is I want to run graphic application A in pc4 when i am in pc5 instead of log in pc4 then run it.  Any idea ? Thanks






0
Comment
Question by:tinhnho
  • 8
  • 7
16 Comments
 

Author Comment

by:tinhnho
Comment Utility
anyone has any idea why it doesn't work ? Thanks
0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
You need to set up a DISPLAY variable in your environment. Suppose pc5 is 192.168.1.5. After your rlogin as above, type

export DISPLAY=192.168.1.5:0.0

The X server on pc5 may not then allow remote connections. You will get a different message from Gtk if that is the case. If that happens, as a temporary measure, in an xterm logged in to pc5, try typing "xhost +"
0
 

Author Comment

by:tinhnho
Comment Utility
Hi


From pc5, i use rlogin to log in pc4. After rlogin, i execute this command

[root@pc4 ~]# export DISPLAY=192.168.1.5:0.0
[root@pc4 ~]#

Then i run the command to launch the application but got this message:
Gtk-WARNING **: cannot open display: 192.168.1.5:0.0

I also typed "xhost +" on pc5's terminal
[root@pc5 ~]# xhost +
access control disabled, clients can connect from any host

But it still gives me the same error:
Gtk-WARNING **: cannot open display: 192.168.1.5:0.0

Any ideas ? Thanks.

0
 

Author Comment

by:tinhnho
Comment Utility
note: Both pc4 and pc5 have GNOME installed.
0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
Make sure the X server is listening for TCP connections. A simple way to do this is to use telnet to port 6000, as per example below.
After connecting, type the telnet escape character to get to telnet's command prompt, then enter telnet's q command.
18:25:52$ telnet 192.168.1.5 6000

Trying 192.168.1.5...

Connected to 192.168.1.5.

Escape character is '^]'.

^]

telnet> q

Connection closed.

Open in new window

0
 

Author Comment

by:tinhnho
Comment Utility
Hi,

Here are what i got
[root@pc ~]# telnet 192.168.1.5 6000
Trying 192.168.1.5...
telnet: connect to address 192.168.1.5: Connection refused
telnet: Unable to connect to remote host: Connection refused
[root@redhat ~]#

is there anyway to allow that connection ?

0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
Your problem is that the server is not listening for TCP connections. Fix that, and all should be fine.
By default, X enables TCP/IP. It seems that on your system, X must be starting with the -nolisten option. Confirm this by (on pc5) issuing:

ps axl|grep -w X

Expect a line like:

4     0  1846  1845  20   0 14328 12652 -     S    ?          0:05 X -auth /home/dunc/.Xauthority -terminate

Notice on my system, X is not being given the -nolisten option. Once you have verified that your server is given the option, you need to track down where it is coming from. Start at /etc/inittab (or whatever replaces it on some systems nowadays)
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
If the ps command in my previous post gives no output, X must be being invoked by another name. Do a full ps ax, and look for Xorg or Xfree86. Or initially, just miss out the "-w".
0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
If pc5 is running a firewall (e.g. iptables), make sure connections on port 6000 are allowed in, at least from pc4
0
 

Author Comment

by:tinhnho
Comment Utility
Hi,

From pc5, I did "ps axl|grep -w X" but don't see anything:
[root@pc5 ~]# ps axl | grep -w X
0     0 23445 22997  18   0   3900   724 pipe_w S+   pts/0      0:00 grep -w X
[root@pc5 ~]#

Then for "ps ax", i found this line:
4472 tty7     Ss+    0:00 /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7

By the way, i turn off iptables in both computers but still get:
From pc4 to pc5
telnet: connect to address 192.168.1.5: Connection refused
telnet: Unable to connect to remote host: Connection refused

From pc5 to pc4
telnet: connect to address 192.168.1.4: Connection refused
telnet: Unable to connect to remote host: Connection refused

Any idea ? Thanks a lot for walking with me thru this problem.
0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
Xorg is being invoked with "-nolisten tcp" much as I predicted. So your problem is simply that X servers are not listening for network connections. You need to find out how Xorg gets started on your system and change it.
When Linux boots, it starts a single process called init. Somehow, X gets started by init. On my system, init takes its instructions from a file called /etc/inittab. But there's a newer mechanism, the details of which escape me, which your system may use.
First of all, see if you have the file /etc/inittab. If you don't, type "man init" and look in the FILES section of the man page for what file or directory your init uses instead. Below I detail what you would do if you have inittab: translate these to the new system if you can or post if stuck:

Inittab consists of colon-separated directive lines (and comments & blanks). The first field in a directive is the name of that line; the second field lists the runlevels that line is obeyed in (runlevels are all single-digit).
Your system starts in graphics mode because of the default runlevel being 4. This is set near the start of inittab with the  initdefault: line

# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:

This line conforms to the syntax I mentioned above, except it tells init what the runlevel is and there must only be one of them.
My system starts in runlevel 3 (console terminals). If I want to use X, I type "startx" in one of them (having logged in first). You'll have a 4 - that's fine.
X is started by another line which is only invoked in runlevel 4:

x1:4:wait:/etc/rc.d/rc.4

Looking in /etc/rc.d/rc.4 (attached), there are lines like

exec /usr/X11R6/bin/xdm -nodaemon

xdm is the display manager. "Man xdm" describes its operation. As I do have /opt/kde/bin/kdm, that would start. There is no man page, but I did locate a kdmrc.  Like sdm, it starts X servers according to a file named Xservers. I've attached that as well. It contains the command to run X "/usr/X11R6/bin/X vt7". Yours will contain Xorg instead of X and will contain "-nolisten tcp". Take out that last bit.
10:05:57$ cat /etc/rc.d/rc.4

#! /bin/sh

#

# rc.4          This file is executed by init(8) when the system is being

#               initialized for run level 4 (XDM)

#

# Version:      @(#)/etc/rc.d/rc.4      2.00    02/17/93

#

# Author:       Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>

# At least 47% rewritten by:  Patrick J. Volkerding <volkerdi@slackware.com>

#
 

# Tell the viewers what's going to happen...

echo "Starting up X11 session manager..."
 

# Try to use GNOME's gdm session manager:

if [ -x /usr/bin/gdm ]; then

  exec /usr/bin/gdm -nodaemon

fi
 

# Not there?  OK, try to use KDE's kdm session manager:

if [ -x /opt/kde/bin/kdm ]; then

  exec /opt/kde/bin/kdm -nodaemon

fi
 

# If all you have is XDM, I guess it will have to do:

if [ -x /usr/X11R6/bin/xdm ]; then

  exec /usr/X11R6/bin/xdm -nodaemon

fi
 

# error

echo

echo "Hey, you don't have KDM, GDM, or XDM.  Can't use runlevel 4 without"

echo "one of those installed."

sleep 30
 

# All done.
 
 

11:02:24$ cat /opt/kde/share/config/kdm/Xservers

# $Xorg: Xserv.ws.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $

#

# Xservers file, workstation prototype

#

# This file should contain an entry to start the server on the

# local display; if you have more than one display (not screen),

# you can add entries to the list (one per line).  If you also

# have some X terminals connected which do not support XDMCP,

# you can add them here as well.  Each X terminal line should

# look like:

#       XTerminalName:0 foreign

#

:0 local@tty1 /usr/X11R6/bin/X vt7
 

### Don't change these two lines; they are hints for genkdmconf. ###

### Version 1.99 ###

Open in new window

0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
"sdm" should be "xdm" - sorry about that, Chief
0
 

Author Comment

by:tinhnho
Comment Utility
>Xorg is being invoked with "-nolisten tcp" much as I predicted. So your problem is simply that X servers >are not listening for network connections. You need to find out how Xorg gets started on your system >and change it.
>When Linux boots, it starts a single process called init. Somehow, X gets started by init. On my system, >init takes its instructions from a file called /etc/inittab. But there's a newer mechanism, the details of >which escape me, which your system may use.
>First of all, see if you have the file /etc/inittab. If you don't, type "man init" and look in the FILES section >of the man page for what file or directory your init uses instead. Below I detail what you would do if >you have inittab: translate these to the new system if you can or post if stuck:

>Inittab consists of colon-separated directive lines (and comments & blanks). The first field in a directive >is the name of that line; the second field lists the runlevels that line is obeyed in (runlevels are all >single-digit).
>Your system starts in graphics mode because of the default runlevel being 4. This is set near the start >of inittab with the  initdefault: line

># Default runlevel. (Do not set to 0 or 6)
>id:3:initdefault:

Hi Duncan_roe,

I took a look at my box, there is file called /etc/inttab. But "Default runlevel" is set to 5
(id:5:initdefault:). For some reason, i have to have runlevel 5 enable. Is it necessary to change to runlevel 3 to work ?

By the way, I don't see any /etc/rc.d/rc.4 or /etc/rc.d/rc.5 on my linux box:
[root@redhat rc.d]# ls -al
total 136
drwxr-xr-x 10 root root  4096 Mar 27 14:50 .
drwxr-xr-x 92 root root 12288 Jun 21 21:10 ..
drwxr-xr-x  2 root root  4096 May 18 21:22 init.d
-rwxr-xr-x  1 root root  2255 Sep 21  2006 rc
drwxr-xr-x  2 root root  4096 May  8 16:22 rc0.d
drwxr-xr-x  2 root root  4096 May  8 16:22 rc1.d
drwxr-xr-x  2 root root  4096 May  8 16:22 rc2.d
drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc3.d
drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc4.d
drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc5.d
drwxr-xr-x  2 root root  4096 May  8 16:22 rc6.d
-rwxr-xr-x  1 root root   220 Jun 23  2003 rc.local
-rwxr-xr-x  1 root root 26376 Jan 19  2007 rc.sysinit
[root@redhat rc.d]#

Thanks.

[root@redhat ~]# cat /etc/rc.d/rc.4

cat: /etc/rc.d/rc.4: No such file or directory

[root@redhat ~]# cat /etc/rc.d/rc 4

#! /bin/bash

#

# rc            This file is responsible for starting/stopping

#               services when the runlevel changes.

#

# Original Author:

#               Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>

#
 

set -m
 

# check a file to be a correct runlevel script

check_runlevel ()

{

        # Check if the file exists at all.

        [ -x "$1" ] || return 1

        is_ignored_file "$1" && return 1

        return 0

}
 

# Now find out what the current and what the previous runlevel are.

argv1="$1"

set `/sbin/runlevel`

runlevel=$2

previous=$1

export runlevel previous
 

. /etc/init.d/functions
 

# See if we want to be in user confirmation mode

if [ "$previous" = "N" ]; then

        if [ -f /var/run/confirm ]; then

                echo $"Entering interactive startup"

        else

                echo $"Entering non-interactive startup"

        fi

fi
 

# Get first argument. Set new runlevel to this argument.

[ -n "$argv1" ] && runlevel="$argv1"
 

# Is there an rc directory for this new runlevel?

[ -d /etc/rc$runlevel.d ] || exit 0
 

# First, run the KILL scripts.

for i in /etc/rc$runlevel.d/K* ; do

        check_runlevel "$i" || continue
 

        # Check if the subsystem is already up.

        subsys=${i#/etc/rc$runlevel.d/K??}

        [ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \

                || continue
 

        # Bring the subsystem down.

        if LC_ALL=C egrep -q "^..*init.d/functions" $i ; then

                $i stop

        else

                action $"Stopping $subsys: " $i stop

        fi

done
 

# Now run the START scripts.

for i in /etc/rc$runlevel.d/S* ; do

        check_runlevel "$i" || continue
 

        # Check if the subsystem is already up.

        subsys=${i#/etc/rc$runlevel.d/S??}

        [ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \

                && continue
 

        # If we're in confirmation mode, get user confirmation

        if [ -f /var/run/confirm ]; then

                confirm $subsys

                test $? = 1 && continue

        fi
 

        update_boot_stage "$subsys"

        # Bring the subsystem up.

        if [ "$subsys" = "halt" -o "$subsys" = "reboot" ]; then

                export LC_ALL=C

                exec $i start

        fi

        if LC_ALL=C egrep -q "^..*init.d/functions" $i \

                        || [ "$subsys" = "single" -o "$subsys" = "local" ]; then

                $i start

        else

                action $"Starting $subsys: " $i start

        fi

done

rm -f /var/run/confirm

if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then

  /usr/bin/rhgb-client --quit

fi

cat: 4: No such file or directory

[root@redhat ~]# cd /etc/rc.d/

[root@redhat rc.d]# ls

init.d  rc0.d  rc2.d  rc4.d  rc6.d     rc.sysinit

rc      rc1.d  rc3.d  rc5.d  rc.local

[root@redhat rc.d]# cd rc4.d

[root@redhat rc4.d]# ls

K02avahi-dnsconfd            K89netplugd         S20kdump

K02dhcdbd                    K89rdisc            S22messagebus

K02NetworkManager            K91capi             S25netfs

K02NetworkManagerDispatcher  K92iptables         S25pcscd

K02oddjobd                   K95firstboot        S26apmd

K05conman                    K99readahead_later  S28autofs

K05saslauthd                 S02lvm2-monitor     S44acpid

K10psacct                    S04readahead_early  S55sshd

K10sun.com-sgd-base          S05kudzu            S56cups

K15httpd                     S06cpuspeed         S56xinetd

K24irda                      S08ip6tables        S60nfs

K30spamassassin              S09isdn             S80sendmail

K35vncserver                 S10network          S85gpm

K35winbind                   S11auditd           S90crond

K50netconsole                S12restorecond      S90xfs

K69rpcsvcgssd                S12syslog           S95anacron

K73ypbind                    S13irqbalance       S95atd

K74ipmi                      S13mcstrans         S97rhnsd

K74nscd                      S13portmap          S97yum-updatesd

K74ntpd                      S14nfslock          S98avahi-daemon

K85mdmpd                     S15mdmonitor        S98haldaemon

K87multipathd                S18rpcidmapd        S99local

K88wpa_supplicant            S19rpcgssd          S99smartd

[root@redhat rc4.d]# cd ..

[root@redhat rc.d]# ls

init.d  rc0.d  rc2.d  rc4.d  rc6.d     rc.sysinit

rc      rc1.d  rc3.d  rc5.d  rc.local

[root@redhat rc.d]# cd

[root@redhat ~]# ls

anaconda-ks.cfg                     install.log.syslog

cairo-1.6.4-1.fc9.i386.rpm          libpixman-0.1.2-1.2.el4.rf.i386.rpm

db1-1.85-0.3.i386.rpm               libpng-1.2.7-3.el4_5.1.i386.rpm

Desktop                             libungif-4.1.3-1.i386.rpm

gnome-libs-1.4.2-5.el5.kb.i386.rpm  ORBit-0.5.17-14.i386.rpm

gtk+-1.2.10-56.el5.i386.rpm         pixman-0.9.6-1.fc8.i386.html

gtk2-2.10.4-20.el5.i386.rpm         pixman-0.9.6-1.fc8.i386.rpm

imlib-1.9.13-23.i386.rpm            rcs-5.7

imlib-devel-1.9.13-23.i386.rpm      rcs-5.7.tar.gz

install.log

[root@redhat ~]# nano /etc/inittab

[root@redhat ~]# cat /etc/inittab

#

# inittab       This file describes how the INIT process should set up

#               the system in a certain run-level.

#

# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>

#               Modified for RHS Linux by Marc Ewing and Donnie Barnes

#
 

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

#

id:5:initdefault:
 

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit
 

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6
 

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now
 

# When our UPS tells us power has failed, assume we have a few minutes

# of power left.  Schedule a shutdown for 2 minutes from now.

# This does, of course, assume you have powerd installed and your

# UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
 

# If power was restored before the shutdown kicked in, cancel it.

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
 
 

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6
 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

[root@redhat ~]# cd /etc/rc.d

[root@redhat rc.d]# ls

init.d  rc  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local  rc.sysinit

[root@redhat rc.d]# ls -al

total 136

drwxr-xr-x 10 root root  4096 Mar 27 14:50 .

drwxr-xr-x 92 root root 12288 Jun 17 04:02 ..

drwxr-xr-x  2 root root  4096 May 18 21:22 init.d

-rwxr-xr-x  1 root root  2255 Sep 21  2006 rc

drwxr-xr-x  2 root root  4096 May  8 16:22 rc0.d

drwxr-xr-x  2 root root  4096 May  8 16:22 rc1.d

drwxr-xr-x  2 root root  4096 May  8 16:22 rc2.d

drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc3.d

drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc4.d

drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc5.d

drwxr-xr-x  2 root root  4096 May  8 16:22 rc6.d

-rwxr-xr-x  1 root root   220 Jun 23  2003 rc.local

-rwxr-xr-x  1 root root 26376 Jan 19  2007 rc.sysinit

[root@redhat rc.d]#

Open in new window

0
 

Author Comment

by:tinhnho
Comment Utility
Disregard the attach code snippset above.

Here is my /etc/inittab
[root@redhat ~]# cat /etc/inittab

#

# inittab       This file describes how the INIT process should set up

#               the system in a certain run-level.

#

# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>

#               Modified for RHS Linux by Marc Ewing and Donnie Barnes

#

 

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

#

id:5:initdefault:

 

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

 

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

 

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

 

# When our UPS tells us power has failed, assume we have a few minutes

# of power left.  Schedule a shutdown for 2 minutes from now.

# This does, of course, assume you have powerd installed and your

# UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

 

# If power was restored before the shutdown kicked in, cancel it.

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

 

 

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

[root@redhat ~]# cd /etc/rc.d

[root@redhat rc.d]# ls

init.d  rc  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local  rc.sysinit

[root@redhat rc.d]# ls -al

total 136

drwxr-xr-x 10 root root  4096 Mar 27 14:50 .

drwxr-xr-x 92 root root 12288 Jun 17 04:02 ..

drwxr-xr-x  2 root root  4096 May 18 21:22 init.d

-rwxr-xr-x  1 root root  2255 Sep 21  2006 rc

drwxr-xr-x  2 root root  4096 May  8 16:22 rc0.d

drwxr-xr-x  2 root root  4096 May  8 16:22 rc1.d

drwxr-xr-x  2 root root  4096 May  8 16:22 rc2.d

drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc3.d

drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc4.d

drwxr-xr-x  2 root root  4096 Jun  3 17:10 rc5.d

drwxr-xr-x  2 root root  4096 May  8 16:22 rc6.d

-rwxr-xr-x  1 root root   220 Jun 23  2003 rc.local

-rwxr-xr-x  1 root root 26376 Jan 19  2007 rc.sysinit

[root@redhat rc.d]#

Open in new window

0
 
LVL 34

Accepted Solution

by:
Duncan Roe earned 500 total points
Comment Utility
Observe the line

x:5:respawn:/etc/X11/prefdm -nodaemon

That starts X in runlevel 5. If you defaulted to runlevel 3, X would not start (but you coukld start it yourself by using the "startx" command.

/etc/X11/prefdm is a shell script which looks to do much the same as the rc.4 script I posted, in that it decides whether to use gdm, kdm or xdm then uses it.
You can probably see which one is being used by typing "ps ax|grep dm". Then track down how it invokes X.
SHORTCUT:
You can grep through /etc/for a script containing "nolisten":

find /etc -follow -type f -print|xargs -n 64 grep nolisten

Once you find the offending script(s), you know what to do ;)
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
1. Introduction As many people are interested in Linux but not as many are interested or knowledgeable (enough) to install Linux on their system, here is a safe way to try out Linux on your existing (Windows) system. The idea is that you insta…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now