vnc server activation

hi all:

i was trying to activate vnc on opensuse 13.1 but it doesn’t seem to be working. basically i followed the advice and used yast to enable vnc service (seems to be only way to do so), and it finished installation of needed packages. but i checked with command line and it showed it is not working:

lab:~ # systemctl status vnc.service
vnc.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)

thanks.

_dave

ok, it is actually working:

root@host:# nmap --open 192.168.1.210

Starting Nmap 6.46 ( http://nmap.org ) at 2014-06-27 04:34 UTC
Nmap scan report for 192.168.1.210
Host is up (0.0041s latency).
Not shown: 996 filtered ports, 1 closed port
PORT STATE SERVICE
22/tcp open ssh
5801/tcp open vnc-http-1
5901/tcp open vnc-1
MAC Address: 00:15:58:7C:B9:EF (Foxconn)

Nmap done: 1 IP address (1 host up) scanned in 5.15 seconds

but why command “systemctl status vnc.service” doesn’t show this?

Because the vnc server is started via xinetd.service.

See YaST->Network Services->Network Services (xinetd).

There is no vnc.service, as the output of “systemctl status vnc.service” tells you:

lab:~ # systemctl status vnc.service
vnc.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)

thanks. but i don’t see anything configured under /etc/xinetd.conf, as i remembered solaris /etc/inetd.conf

Well, look at the last line:

includedir /etc/xinetd.d

which includes all files in the directory /etc/xinetd.d/. And if you look there, you will find your VNC configuration:

wolfi@amiga:~> ls /etc/xinetd.d
chargen      cvs          discard      echo-udp  sane-port  svnserve  time-udp
chargen-udp  daytime      discard-udp  netstat   servers    systat    vnc
cups-lpd     daytime-udp  echo         rsync     services   time      vnchttpd
wolfi@amiga:~> 

Or just look in YaST as already mentioned.

thanks for the education. here is what i got
hosts:~ # ps -aux | grep vnc
root 1986 0.0 0.0 3124 852 pts/1 S+ 22:49 0:00 grep --color=auto vnc

now i am trying to access vnc server from another opensuse machine (13.1 too) with kde remote desktop client and it failed. i always get “server not found” error.

in those tests, both machines are on the same lan, i disabled the firewall on the server side so that i can test clear-text tcp connection first before moving to secured session.

thanks again for the help.

That’s normal. There is no separate process named “vnc”, it runs as part of the X server.

Check with nmap as before f.e., to see whether the VNC server is running.

now i am trying to access vnc server from another opensuse machine (13.1 too) with kde remote desktop client and it failed. i always get “server not found” error.

I have seen reports of KRDC not working.
Try something else to be sure, vncviewer f.e.

And don’t forget to specify the port number, f.e.:

vncviewer localhost:5901

Or try to connect via port 5801 in a web browser.

Another thing: libqt4 has some problems via VNC since some security fix.
It tries to use the MITSHM extension, but fails because of insufficient permissions in the case of VNC.
This gives problem showing kdm (the login screen) or running applications as root (YaST f.e.).
To workaround add this to /etc/environment:

QT_X11_NO_MITSHM=1

Or setting Qt4’s graphics system to “native” should help as well:

QT_GRAPHICSSYSTEM="native"

(and reboot for this taking effect)

Sorry, setting this in /etc/environment doesn’t help with KDM.

When I set it in /etc/init.d/xdm, I can at least see the KDM login screen (although that’s not really a good solution either, there must be a better place).
You can set a different DM though in /etc/sysconfig/DISPLAYMANAGER, xdm should work.

And yes, KRDC does not seem to work, with the VNC server included in openSUSE 13.1 at least.
“vncviewer” does, but I cannot seem to login. It only displays the login screen but quits as soon as I try to actually login.

Sorry, cannot help you more.

PS: That’s not 100% correct.
Xvnc, i.e the X VNC server, is indeed a separate process.

But it only gets started when somebody tries to connect.

That’s the point of xinetd.

It is xinetd who runs and listens for incoming connections, then it launches the services on demand.

So you only will see the Xvnc process running after you actually connect to it.

I tried myself with xdm as login manager now and it did work. I was able to login just fine using vncviewer or a web browser. (KRDC still didn’t work at all though)
So it seems to be a KDM problem.

I suppose you could use other DMs like gdm or lightdm, but I haven’t tried yet.

And for making KDE4 and KDE4/Qt4 applications work, you should set that environment variable as mentioned before.

Regarding KRDC, this seems to be a libvncclient issue (that’s what KRDC uses to connect to VNC servers).

Anyway, I got that to work as well, by adding “-Protocol3.3” to the server options (“server_args”) in /etc/xinetd.d/vnc (or YaST->Network Services->Network Services (xinetd)).

You have to restart xinetd.service for the changes to take effect.

On Mon, 30 Jun 2014 03:06:02 GMT, ipfreak
<ipfreak@no-mx.forums.opensuse.org> wrote:

>
>wolfi323;2651235 Wrote:
>> Well, look at the last line:
>> >
>Code:
>--------------------
> > > includedir /etc/xinetd.d
>--------------------
>> >
>> which includes all files in the directory /etc/xinetd.d/. And if you
>> look there, you will find your VNC configuration:
>> >
>Code:
>--------------------
> > > wolfi@amiga:~> ls /etc/xinetd.d
> > chargen cvs discard echo-udp sane-port svnservetime-udp
> > chargen-udp daytime discard-udp netstat servers systat vnc
> > cups-lpd daytime-udp echo rsync services time vnchttpd
> > wolfi@amiga:~>
> >
>--------------------
>> >
>>
>> Or just look in YaST as already mentioned.
>
>thanks for the education. here is what i got
>hosts:~ # ps -aux | grep vnc
>root 1986 0.0 0.0 3124 852 pts/1 S+ 22:49 0:00 grep
>–color=auto vnc
>
>now i am trying to access vnc server from another opensuse machine (13.1
>too) with kde remote desktop client and it failed. i always get “server
>not found” error.
>
>in those tests, both machines are on the same lan, i disabled the
>firewall on the server side so that i can test clear-text tcp connection
>first before moving to secured session.
>
>thanks again for the help.

How are you addressing the machines? If by machine name what is supposed
to provide name resolution?

?-)