summaryrefslogtreecommitdiff
path: root/community/tigervnc
diff options
context:
space:
mode:
Diffstat (limited to 'community/tigervnc')
-rw-r--r--community/tigervnc/PKGBUILD9
-rw-r--r--community/tigervnc/vncserver.service44
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