xrdp - nowy spec
Pawel Zuzelski
z w grabina.waw.pl
¦ro, 23 Kwi 2008, 13:44:31 CEST
Witam,
przygotowałem speca z xrdp. Jest to linuksowy serwer remote desktop. W oparciu
o xrdp można łatwo zbudować terminal serwer do którego będzie się można
łączyć z Windowsów bez żadnego dodatkowego oprogramowania. Działa również z
linuksowym rdesktopem.
Testowałem na Th/i686 oraz Ti/i686.
Mogę prosić o komentarz czy wszystko w specu jest prawidłowo zrobione? (-:
PS.: dzięki za wskazówki odnośnie wstawiania dokumentacji spoza paczki ze
źródłami.
--
Pozdrawiam,
Paweł Zuzelski
-------------- nastêpna czê¶æ ---------
# $Revision: 1.2 $, $Date: 2007-10-15 22:23:24 $
#
Summary: Remote desktop server
Summary(pl.UTF-8): Serwer remote desktop
Name: xrdp
Version: 0.4.0
Release: 1
License: GPL
Group: X11/Applications/Networking
Source0: http://dl.sourceforge.net/xrdp/%{name}-%{version}.tar.gz
# Source0-md5: dc83d149e385c4cd402d990695691f55
Source1: %{name}-init
Source2: %{name}-pam
Source3: %{name}-xrdp.ini
Source4: %{name}-sesman.ini
Source5: %{name}-README.PLD
Patch0: %{name}-paths.patch
Patch1: %{name}-make.patch
URL: http://xrdp.sourceforge.net/
BuildRequires: pam-devel
Requires(post,preun): /sbin/chkconfig
Requires: tightvnc-server
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
xrdp is an open source Remote Desktop Protocol (rdp) server for
UNIX-like systems. It is capable of accepting connections from
rdesktop and Microsoft's own terminal server / remote desktop clients.
Unlike Windows NT/2000/2003 server, xrdp will not display a Windows
desktop but an X window desktop to the user.
Xrdp uses Xvnc or X11rdp backends to manage the X session.
%description -l pl.UTF-8
xrdp jest serwerem protokołu Remote Desktop (rdp) dlo systemów
UNIXowych. Program ten jest rozpowszechniany jako oprogramowanie open
source. Do xrdp można się łączyć zarówno programem rdesktop, jak i
klientami protokołu rdp Microsoftu.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
install %{SOURCE5} README.PLD
%build
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_libdir}/xrdp,%{_sbindir},%{_docdir},%{_localstatedir}/run,%{_datadir}/%{name}} \
$RPM_BUILD_ROOT%{_mandir}/man{5,8} \
$RPM_BUILD_ROOT%{_sysconfdir}/{%{name},pam.d,rc.d/init.d} \
$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/xrdp
install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/sesman
install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/xrdp.ini
install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/sesman.ini
install libxrdp/libxrdp.so $RPM_BUILD_ROOT%{_libdir}/libxrdp.so
install rdp/librdp.so $RPM_BUILD_ROOT%{_libdir}/xrdp/librdp.so
install sesman/sessvc $RPM_BUILD_ROOT%{_sbindir}/sessvc
install sesman/sesman $RPM_BUILD_ROOT%{_sbindir}/sesman
install sesman/startwm.sh $RPM_BUILD_ROOT%{_sbindir}/startwm.sh
install sesman/libscp/libscp.so $RPM_BUILD_ROOT%{_libdir}/libscp.so
install sesman/tools/sesrun $RPM_BUILD_ROOT%{_sbindir}/sesrun
install sesman/tools/sestest $RPM_BUILD_ROOT%{_sbindir}/sestest
install vnc/libvnc.so $RPM_BUILD_ROOT%{_libdir}/xrdp/libvnc.so
install xrdp/xrdp $RPM_BUILD_ROOT%{_sbindir}/xrdp
install xrdp/ad256.bmp $RPM_BUILD_ROOT%{_datadir}/%{name}/ad256.bmp
install xrdp/xrdp256.bmp $RPM_BUILD_ROOT%{_datadir}/%{name}/xrdp256.bmp
install xrdp/cursor0.cur $RPM_BUILD_ROOT%{_datadir}/%{name}/cursor0.cur
install xrdp/cursor1.cur $RPM_BUILD_ROOT%{_datadir}/%{name}/cursor1.cur
install xrdp/Tahoma-10.fv1 $RPM_BUILD_ROOT%{_datadir}/%{name}/Tahoma-10.fv1
install xrdp/rsakeys.ini $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/rsakeys.ini
install xup/libxup.so $RPM_BUILD_ROOT%{_libdir}/xrdp/libxup.so
install docs/man/sesman.8 $RPM_BUILD_ROOT%{_mandir}/man8/sesman.8
install docs/man/sesrun.8 $RPM_BUILD_ROOT%{_mandir}/man8/sesrun.8
install docs/man/xrdp.8 $RPM_BUILD_ROOT%{_mandir}/man8/xrdp.8
install docs/man/sesman.ini.5 $RPM_BUILD_ROOT%{_mandir}/man5/sesman.ini.5
install docs/man/xrdp.ini.5 $RPM_BUILD_ROOT%{_mandir}/man5/xrdp.ini.5
%post
/sbin/ldconfig
%service xrdp stop
/sbin/chkconfig --add xrdp
%postun -p /sbin/ldconfig
%preun
if [ "$1" = "0" ]; then
%service xrdp stop
/sbin/chkconfig --del xrdp
fi
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc *.txt
%doc README.PLD
%dir %{_sysconfdir}/%{name}
%dir %{_localstatedir}/run
%{_libdir}/libscp.so
%{_libdir}/libxrdp.so
%dir %{_libdir}/xrdp
%{_libdir}/xrdp/*
%dir %{_datadir}/xrdp
%{_datadir}/xrdp/*
%attr(755,root,root) %{_sbindir}/*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/sesman
%attr(754,root,root) /etc/rc.d/init.d/xrdp
%config(noreplace) %{_sysconfdir}/%{name}/xrdp.ini
%config(noreplace) %{_sysconfdir}/%{name}/rsakeys.ini
%config(noreplace) %{_sysconfdir}/%{name}/sesman.ini
%{_mandir}/man8/*
%{_mandir}/man5/*
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback w pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log:$
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: xrdp-init
Type: application/x-shellscript
Size: 1520 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20080423/e6e13820/attachment.bin
-------------- nastêpna czê¶æ ---------
=== Sesja: ===
Sesman, uruchamiając sesję użytkownika, korzysta ze skryptu
/etc/X11/xinit/Xclients. Dlatego, aby zmienić manager okien, najprościej
wpisać odpowiedni program w pliku ~/.desktop
Mozna również wskazać inny skrypt uruchamiający sesję Xów w konfiguracji
sesmana: /etc/xrdp/sesman.ini.
=== Uprawnieni użytkownicy: ===
Aby ograniczyć prawo do korzystania z xrdp do określonej grupy uzytkowników,
można wpisać tą grupę w pliku /etc/xrdp/sesman.ini w polu TerminalServerUsers.
=== Znane błędy: ===
Sesman nie potrafi uruchomić Xvnc, jeżeli pam korzysta z LDAPa.
-------------- nastêpna czê¶æ ---------
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=/etc/X11/xinit/Xclients
DefaultWindowManager=/etc/X11/xinit/Xclients
[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=users
TerminalServerAdmins=root
[Sessions]
MaxSessions=10
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0
[Logging]
LogFile=/dev/null
LogLevel=CORE
EnableSyslog=1
SyslogLevel=CORE
[X11rdp]
param1=-bs
param2=-ac
[Xvnc]
param1=-bs
param2=-ac
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: xrdp-paths.patch
Type: text/x-diff
Size: 2281 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20080423/e6e13820/attachment-0001.bin
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: xrdp-make.patch
Type: text/x-diff
Size: 487 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20080423/e6e13820/attachment-0002.bin
-------------- nastêpna czê¶æ ---------
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp1]
name=sesman-Xvnc
lib=/usr/lib/xrdp/libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
[xrdp2]
name=console
lib=/usr/lib/xrdp/libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
[xrdp3]
name=vnc-any
lib=/usr/lib/xrdp/libvnc.so
ip=ask
port=ask5900
username=na
password=ask
[xrdp4]
name=sesman-any
lib=/usr/lib/xrdp/libvnc.so
ip=ask
port=-1
username=ask
password=ask
[xrdp5]
name=rdp-any
lib=/usr/lib/xrdp/librdp.so
ip=ask
port=ask3389
[xrdp6]
name=sesman-X11rdp
lib=/usr/lib/xrdp/libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
-------------- nastêpna czê¶æ ---------
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/security/blacklist.sesman onerr=succeed
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
Wiêcej informacji o li¶cie dyskusyjnej pld-devel-pl