system/xrdp: Updated for version 0.6.0.
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
parent
b9dcd6d7c4
commit
5cf880887f
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
|
@ -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:
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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=""
|
||||
|
|
Loading…
Reference in New Issue