system/xrdp: Updated for version 0.6.0.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Phillip Warner 2013-10-27 21:16:36 -05:00 committed by Robby Workman
parent b9dcd6d7c4
commit 5cf880887f
9 changed files with 114 additions and 135 deletions

View File

@ -6,7 +6,7 @@ xrdp server machine in addition to the RDP server. Xrdp can also act as a
bridging server, allowing RDP clients to connect to other RDP or VNC servers
through the xrdp server.
Xvnc can be installed by installing tightvnc (available on SlackBuilds.org).
Xvnc is included with tightvnc (in Slackware /extra).
X11rdp can be compiled and installed by following the directions in the
thread at http://tinyurl.com/2ufoz2 (link to LinuxQuestions.org).
@ -17,9 +17,14 @@ script as follows:
USE_PAM=YES ./xrdp.SlackBuild
After installing xrdp there are some configuration files in /etc/xrdp that
can be modified. sesman.ini has some useful options to take note of such as
the ability to allow xrdp use by only a certain group and to specify the log
location (the default log location has been changed to /var/log/sesman.log).
can be modified:
** sesman.ini **
sesman.ini has some useful options to take note of such as the ability to
allow xrdp use by only a certain group and to specify the log location.
*NOTE:* The default log location is now /var/log/xrdp-sesman.log.
** xrdp.ini **
xrdp.ini should be modified so that you have the options you want at the
server login screen. For instance, if you want xrdp's default options to be
like those of a Windows RDP server then change xrdp.ini so that the default
@ -28,11 +33,15 @@ might want to change the options (eg. port number) for VNC (listed as
"console" by default). The man page for xrdp.ini has more details on the
file.
/etc/xrdp/xrdp-xinitrc by default loads KDE during a X11rdp session. Change
this as desired to load a different DE/WM. A similar script can be executed
on a per-user basis by creating an executable script at ~/.xrdp-xinitrc. A
utility program, xrdp-xwmconfig, is included to allow you to use your xinit
scripts during X11rdp sessions. It works just like xwmconfig, so run it as
root to set the global default, or run it as a normal user to set only the
default for that user. See the sesman.ini man page for details about
defining different names or locations for the X11rdp startup scripts.
** xrdp-xinitrc **
xrdp-xinitrc by default tries to load one of several DE/WMs in order to
start a X11rdp session. Change this as desired to load a specific DE/WM.
A similar script can be executed on a per-user basis by creating an
executable script at ~/.xrdp-xinitrc. A utility program, xrdp-xwmconfig,
is included to allow you to use your xinit scripts during X11rdp sessions.
It works just like xwmconfig, so run it as root to set the global default,
or run it as a normal user to set only the default for that user. See the
sesman.ini man page for details about defining different names or locations
for the X11rdp startup scripts.
FreeRDP is an optional dependency.

View File

@ -23,4 +23,9 @@ config etc/xrdp/xrdp-xinitrc.new
config etc/xrdp/rsakeys.ini.new
config etc/xrdp/sesman.ini.new
config etc/xrdp/xrdp.ini.new
config etc/xrdp/km-0407.ini.new
config etc/xrdp/km-0409.ini.new
config etc/xrdp/km-040c.ini.new
config etc/xrdp/km-0410.ini.new
config etc/xrdp/km-0419.ini.new
config etc/xrdp/km-041d.ini.new

View File

@ -1,13 +0,0 @@
Patch generated 20080922 by Phillip Warner <pc_warner@yahoo.com>
Permission granted to use this patch as you see fit.
--- Makefile.orig 2008-09-22 11:57:24.000000000 -0500
+++ Makefile 2008-09-22 11:57:51.000000000 -0500
@@ -46,7 +46,6 @@
make -C sesman install
make -C xup install
make -C docs install
- if [ -d /etc/pam.d ]; then install instfiles/pam.d/sesman /etc/pam.d/sesman; fi
install instfiles/xrdp_control.sh $(DESTDIR)/xrdp_control.sh
installdeb:

View File

@ -1,22 +0,0 @@
Patch generated 20071215 by Phillip Warner <pc_warner@yahoo.com>
Permission granted to use this patch as you see fit.
--- Makefile.orig 2007-12-15 00:22:34.000000000 -0600
+++ Makefile 2007-12-15 00:15:13.000000000 -0600
@@ -39,6 +39,7 @@
mkdir -p $(PIDDIR)
mkdir -p $(MANDIR)
mkdir -p $(DOCDIR)
+ mkdir -p $(PKGDIR)/etc/pam.d
make -C vnc install
make -C libxrdp install
make -C xrdp install
@@ -46,7 +47,7 @@
make -C sesman install
make -C xup install
make -C docs install
- if [ -d /etc/pam.d ]; then install instfiles/pam.d/sesman /etc/pam.d/sesman; fi
+ install instfiles/pam.d/sesman $(PKGDIR)/etc/pam.d/sesman
install instfiles/xrdp_control.sh $(DESTDIR)/xrdp_control.sh
installdeb:

View File

@ -1,30 +0,0 @@
Patch generated 20080925 by Phillip Warner <pc_warner@yahoo.com>
Permission granted to use this patch as you see fit.
--- sesman/sesman.ini.orig 2008-09-22 12:56:51.000000000 -0500
+++ sesman/sesman.ini 2008-09-25 11:39:03.000000000 -0500
@@ -2,11 +2,11 @@
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
-UserWindowManager=startwm.sh
+UserWindowManager=.xrdp-xinitrc
DefaultWindowManager=startwm.sh
[Security]
-AllowRootLogin=1
+AllowRootLogin=0
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
@@ -18,8 +18,8 @@
DisconnectedTimeLimit=0
[Logging]
-LogFile=./sesman.log
-LogLevel=DEBUG
+LogFile=/var/log/sesman.log
+LogLevel=INFO
EnableSyslog=0
SyslogLevel=DEBUG

View File

@ -0,0 +1,27 @@
diff -Naur xrdp-v0.6.0-orig/sesman/sesman.ini xrdp-v0.6.0/sesman/sesman.ini
--- xrdp-v0.6.0-orig/sesman/sesman.ini 2012-02-21 14:00:55.000000000 -0500
+++ xrdp-v0.6.0/sesman/sesman.ini 2013-09-07 18:48:37.377849867 -0400
@@ -2,11 +2,11 @@
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
-UserWindowManager=startwm.sh
-DefaultWindowManager=startwm.sh
+UserWindowManager=.xrdp-xinitrc
+DefaultWindowManager=xrdp-xinitrc
[Security]
-AllowRootLogin=1
+AllowRootLogin=0
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
@@ -20,7 +20,7 @@
[Logging]
LogFile=/var/log/xrdp-sesman.log
-LogLevel=DEBUG
+LogLevel=INFO
EnableSyslog=0
SyslogLevel=DEBUG

View File

@ -20,14 +20,16 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Modified by Phillip Warner <pc_warner@yahoo.com>
# for editing xrdp-xinitrc for use with xrdp
# $DWM is the file under /usr/lib/xrdp that points to /etc/xrdp/xrdp-xinitrc.
# /etc/xrdp/xrdp-xinitrc will be modified by this script if run by root.
# $UWM is the file under $HOME that will be modified by this script.
# for editing xrdp's xinit files (xrdp-xinitrc)
#
# $DWM under /etc/xrdp will be modified by this script if run by root.
# Otherwise, $UWM in the user's folder will be modified.
#
# $DWM represents the default xrdp-xinit file for xrdp under /etc/xrdp.
# $UWM is the xrdp-xinit file under $HOME that will be modified by this script.
# The values for DefaultWindowManager and UserWindowManager, respectively,
# in sesman.ini should match these.
DWM=startwm.sh
DWM=xrdp-xinitrc
UWM=.xrdp-xinitrc
# First, let's bail if our being here doesn't make sense:
@ -42,12 +44,12 @@ if [ ! -d /etc/xrdp ]; then
fi
if [ $(grep -w DefaultWindowManager /etc/xrdp/sesman.ini | cut -f2 -d"=") != $DWM ]
then
echo "DefaultWindowManager in sesman.ini MUST be $DWM to use this tool. Aborting..."
echo "DefaultWindowManager in sesman.ini MUST be set to $DWM to use this tool. Aborting..."
exit
fi
if [ $(grep -w UserWindowManager /etc/xrdp/sesman.ini | cut -f2 -d"=") != $UWM ]
then
echo "UserWindowManager in sesman.ini MUST be $UWM to use this tool. Aborting..."
echo "UserWindowManager in sesman.ini MUST be set to $UWM to use this tool. Aborting..."
exit
fi
@ -64,14 +66,14 @@ fi
# Do we already have an existing default?
unset PRESELECT
if [ -L /etc/xrdp/xrdp-xinitrc ]; then
CURRENT="$(basename $(/bin/ls -l /etc/xrdp/xrdp-xinitrc | cut -f 2 -d '>'))"
if [ -L /etc/xrdp/$DWM ]; then
CURRENT="$(basename $(/bin/ls -l /etc/xrdp/$DWM | cut -f 2 -d '>'))"
PRESELECT=" --default-item $CURRENT "
fi
# Figure out who we are and set up some background information:
if [ "$USER" = "root" ]; then
BACKTITLE="--backtitle \"Setting system-wide default xrdp window manager at /etc/xrdp/xrdp-xinitrc\""
BACKTITLE="--backtitle \"Setting system-wide default xrdp window manager at /etc/xrdp/$DWM\""
else
BACKTITLE="--backtitle \"Setting user default xrdp window manager in $HOME/$UWM\""
fi
@ -195,7 +197,7 @@ OUTPUT=`cat $TMP/output`
# that do not have a $HOME/$UWM:
if [ "$USER" = "root" ]; then
if [ -r /etc/X11/xinit/$OUTPUT ]; then
( cd /etc/xrdp/ ; rm -f xrdp-xinitrc ; ln -sf /etc/X11/xinit/$OUTPUT xrdp-xinitrc )
( cd /etc/xrdp/ ; rm -f $DWM ; ln -sf /etc/X11/xinit/$OUTPUT $DWM )
fi
fi

View File

@ -4,7 +4,7 @@
# Written by Phillip Warner <pc_warner@yahoo.com>
PRGNAM=xrdp
VERSION=0.4.2
VERSION=0.6.0
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -44,71 +44,72 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
rm -rf $PRGNAM-v$VERSION
tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz
cd $PRGNAM-v$VERSION
chown -R root:root .
chmod -R a-s,u+rw,go-w .
if [ ! "$USE_PAM" = "NO" ]; then
patch < $CWD/patches/Makefile.PAM.diff
make
# uses autoreconf now
autoreconf -vfi
if [ "$USE_PAM" = "NO" ]; then
NOPAM_OPT="--enable-nopam"
else
patch < $CWD/patches/Makefile.NOPAM.diff
make nopam
NOPAM_OPT=""
fi
# Fix path in what will become the init script
sed -i "s/XRDP_DIR=\/usr\/local\/xrdp\//XRDP_DIR=\/usr\/lib${LIBDIRSUFFIX}\/xrdp\//" instfiles/xrdp_control.sh
# Optional config options if built with FreeRDP:
# --enable-freerdp Build freerdp module (default: no)
# --enable-freerdp1 Build freerdp1 module (default: no)
CFLAGS="$SLKCFLAGS" \
CPPFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
$NOPAM_OPT
# Fix path in what will become the init script
sed -i "s/SBINDIR=\/usr\/local\/sbin/SBINDIR=\/usr\/sbin/" instfiles/xrdp.sh
# Change xinit script name to xrdp-xinitrc
sed -i "s/startwm.sh/xrdp-xinitrc/" instfiles/xrdp.sh
# Set LogFile at /var/log/sesman.log
# Change LogLevel to INFO instead of DEBUG
# Disable Root logins by default
# Set user-specific RDP session script to ~/.xrdp-xinitrc
patch -d sesman/ < $CWD/patches/sesman.ini.diff
# Set default RDP session xinit script to /etc/xrdp/xrdp-xinitrc
# Note: LogFile now at /var/log/xrdp-sesman.log
patch -d sesman/ -p2 < $CWD/sesman.ini.patch
make install \
PKGDIR=$PKG \
DESTDIR=$PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM \
CFGDIR=$PKG/etc/$PRGNAM \
PIDDIR=$PKG/var/run \
MANDIR=$PKG/usr/man \
DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION
# Build fails if a copy of config.{c,h} is not in sesman/tools/
cp -v sesman/config.{c,h} sesman/tools/
# Install routines for man pages missing from Makefile
mkdir -p $PKG/usr/man/man5 $PKG/usr/man/man8
cp -a docs/man/*.5 $PKG/usr/man/man5
cp -a docs/man/*.8 $PKG/usr/man/man8
make
make install DESTDIR=$PKG
# Make sure log directory is there
mkdir -p $PKG/var/log
# Fix permissions from install
chmod a-x $PKG/etc/$PRGNAM/*
if [ -e $PKG/etc/pam.d/ ]; then
chmod a-x $PKG/etc/pam.d/sesman
fi
chmod a-x $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/{Tahoma-10.fv1,*.bmp,*.cur}
# Let's make the xrdp_control.sh script the init script
mkdir -p $PKG/etc/rc.d
mv $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/xrdp_control.sh $PKG/etc/rc.d/rc.$PRGNAM.new
mv $PKG/etc/$PRGNAM/xrdp.sh $PKG/etc/rc.d/rc.$PRGNAM.new
# Move startwm.sh to a more sane location with a name that makes more sense
mv $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/startwm.sh $PKG/etc/$PRGNAM/xrdp-xinitrc.new
# Unfortunately, sesman.ini seems to ignore absolute paths for
# startwm.sh, so we need to leave a link where it expects to find
# the file under the program directory.
( cd $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
ln -s /etc/$PRGNAM/xrdp-xinitrc startwm.sh
)
# Change startwm.sh name for more consistency with previous SlackBuild
# and corresponding user file name
mv $PKG/etc/$PRGNAM/startwm.sh $PKG/etc/$PRGNAM/xrdp-xinitrc.new
# Let's not clobber existing configs
( cd $PKG/etc/$PRGNAM
mv rsakeys.ini rsakeys.ini.new
mv sesman.ini sesman.ini.new
mv xrdp.ini xrdp.ini.new
rename ini ini.new km-????.ini
)
# Install the xrdp-xwmconfig utility
@ -121,7 +122,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING design.txt install.txt readme.txt $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING design.txt install.txt readme.txt faq-*.txt $PKG/usr/doc/$PRGNAM-$VERSION
# Keep a backup copy of startwm.sh in the docs
cat sesman/startwm.sh > $PKG/usr/doc/$PRGNAM-$VERSION/startwm.sh-example
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

View File

@ -1,8 +1,8 @@
PRGNAM="xrdp"
VERSION="0.4.2"
VERSION="0.6.0"
HOMEPAGE="http://xrdp.sourceforge.net/"
DOWNLOAD="http://downloads.sourceforge.net/xrdp/xrdp-0.4.2.tar.gz"
MD5SUM="e2eecc2a383e77e6cb087e837c4d4c10"
DOWNLOAD="http://downloads.sourceforge.net/project/xrdp/xrdp/0.6.0/xrdp-v0.6.0.tar.gz"
MD5SUM="b2577256b5a34bd72849cd40375c92de"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""