diff options
Diffstat (limited to 'community/tigervnc')
-rw-r--r-- | community/tigervnc/PKGBUILD | 9 | ||||
-rw-r--r-- | community/tigervnc/vncserver.service | 44 |
2 files changed, 50 insertions, 3 deletions
diff --git a/community/tigervnc/PKGBUILD b/community/tigervnc/PKGBUILD index 2e0e43573..7e56b4be0 100644 --- a/community/tigervnc/PKGBUILD +++ b/community/tigervnc/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 73952 2012-07-17 11:36:12Z spupykin $ +# $Id: PKGBUILD 79289 2012-11-02 13:49:13Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Uroš Vampl <mobile.leecher at gmail dot com> pkgname=tigervnc pkgver=1.2.0 -pkgrel=7 +pkgrel=8 _xorgver=1.12.3 pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC." arch=('i686' 'x86_64') @@ -16,11 +16,12 @@ depends=('pam' 'gnutls' 'libjpeg-turbo' 'libxft' 'libxinerama' 'libxcursor' makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto' 'compositeproto' 'damageproto' 'randrproto' 'resourceproto' 'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto' - 'xtrans' 'mesa') + 'xtrans' 'mesa' 'glproto' 'dri2proto') options=(!libtool) conflicts=('tightvnc') source=(http://downloads.sourceforge.net/tigervnc/${pkgname}-${pkgver}.tar.gz ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2 + vncserver.service xorg111.patch xorg112.patch gnutls.patch @@ -28,6 +29,7 @@ source=(http://downloads.sourceforge.net/tigervnc/${pkgname}-${pkgver}.tar.gz cmakelists.patch) md5sums=('3a5755b4ed600a81c3a17976c6f8420d' '65a53b11bc01dcc97ee9b201dc620c32' + 'ce06ff57ba53bd386d71249dfc3cb719' 'b680b55f7f9f569cd26ac0b330012a8b' 'f73e055153889ae7b5aac8e697f7a841' '1a5fe8867ab3e49e20aafc70c415494f' @@ -66,4 +68,5 @@ package() { cd unix/xserver/hw/vnc make DESTDIR=${pkgdir} install sed -i 's/iconic/nowin/' ${pkgdir}/usr/bin/vncserver + install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service } diff --git a/community/tigervnc/vncserver.service b/community/tigervnc/vncserver.service new file mode 100644 index 000000000..85f77b9a0 --- /dev/null +++ b/community/tigervnc/vncserver.service @@ -0,0 +1,44 @@ +# The vncserver service unit file +# +# Quick HowTo: +# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service +# 2. Edit <USER> and vncserver parameters appropriately +# ("su <USER> -c /usr/bin/vncserver %i -arg1 -arg2") +# 3. Run `systemctl daemon-reload` +# 4. Run `systemctl enable vncserver@:<display>.service` +# +# DO NOT RUN THIS SERVICE if your local area network is +# untrusted! For a secure way of using VNC, you should +# limit connections to the local host and then tunnel from +# the machine you want to view VNC on (host A) to the machine +# whose VNC output you want to view (host B) +# +# [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB +# +# this will open a connection on port 590N of your hostA to hostB's port 590M +# (in fact, it ssh-connects to hostB and then connects to localhost (on hostB). +# See the ssh man page for details on port forwarding) +# +# You can then point a VNC client on hostA at vncdisplay N of localhost and with +# the help of ssh, you end up seeing what hostB makes available on port 590M +# +# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP. +# +# Use "-localhost" to prevent remote VNC clients connecting except when +# doing so through a secure tunnel. See the "-via" option in the +# `man vncviewer' manual page. + + +[Unit] +Description=Remote desktop service (VNC) +After=syslog.target network.target + +[Service] +Type=forking +# Clean any existing files in /tmp/.X11-unix environment +ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || true' +ExecStart=/bin/su <USER> -c "/usr/bin/vncserver %i" +ExecStop=/bin/su <USER> -c "/usr/bin/vncserver -kill %i" + +[Install] +WantedBy=multi-user.target |