====== Rechner-Fernzugriff =======
===== von MS Windows® (Client) auf Ubuntu (Server) ======
==== Xming - Einzelne Programme (Fenster) auf den Windows Desktop holen ====
=== Quelle(n): ===
* [[http://laptops.eng.uci.edu/software-installation/using-linux/how-to-configure-xming-putty|http://laptops.eng.uci.edu/software-installation/using-linux/how-to-configure-xming-putty]]
* [[https://wiki.ubuntuusers.de/Xming/|https://wiki.ubuntuusers.de/Xming/]]
==== Remote Desktop I - Eine sehr simple Lösung ====
=== Quelle(n): ===
* [[https://askubuntu.com/questions/592537/can-i-access-ubuntu-from-windows-remotely|https://askubuntu.com/questions/592537/can-i-access-ubuntu-from-windows-remotely]]
* [[http://www.technig.com/remote-access-windows-10-via-ubuntu-vise-versa/|http://www.technig.com/remote-access-windows-10-via-ubuntu-vise-versa/]]
=== Umsetzung: ===
sudo apt-get update
sudo apt-get install xrdp
sudo apt-get install xfce4
echo "xfce4-session" >~/.xsession
sudo nano /etc/xrdp/startwm.sh
------------------
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
startxfce4
------------------
sudo service xrdp restart
==== Remote Desktop II - Eine bessere Lösung ====
**UPDATE - 14.03.2018**\\
Diese Version unterstützt u.A. die Verwendung der Zwischenablage ;-)\\
Quelle siehe unten - jedoch von mir ergänzt und um die richtige Erkennung der verwendeten Ubuntu LTS Version erweitert.
=== Quelle(n): ===
* [[http://c-nergy.be/blog/?p=10752|http://c-nergy.be/blog/?p=10752]] **SEHR WICHTIG!**
* [[http://c-nergy.be/blog/?p=11719|http://c-nergy.be/blog/?p=11719]] **UPDATE**
=== Umsetzung: ===
#!/bin/bash
#
################################################################
# Script_Name : install-xrdp-1.9.2.sh
# Description : Perform an automated custom installation of xrdp
# on ubuntu 16.04.4
# Date : March 2018
# written by : Griffon
# Web Site :http://www.c-nergy.be - http://www.c-nergy.be/blog
# Version : 1.9.2
# Disclaimer : Script provided AS IS. Use it at your own risk....
##################################################################
#----------------------------------------------------------------#
# Step 0 - Try to Detect Ubuntu Version and Unity....
#----------------------------------------------------------------#
clear
#Checking Ubuntu Version
echo
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;32m Dectecting Ubuntu Version and Desktop in use...\e[0m"
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
version=$(lsb_release -d | awk -F":" '/Description/ {print $2}')
if [[ $version=*"Ubuntu 16.04"* ]]; then
echo
/bin/echo -e "\e[1;33m Ubuntu Version :$version\e[0m"
else
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;31mYour system is not running Ubuntu 16.04 Edition.\e[0m"
/bin/echo -e "\e[1;31mThe script has been tested only on Ubuntu 16.04.x...\e[0m"
/bin/echo -e "\e[1;31mThe script is exiting...\e[0m"
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
echo
exit
fi
#Checking if Unity Desktop in Use
if [ "$XDG_CURRENT_DESKTOP"="Unity" ]
then
/bin/echo -e "\e[1;33m Desktop interface Detected....: $XDG_CURRENT_DESKTOP\e[0m"
echo
else
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;31mYour system is not running Unity Desktop Interface.\e[0m"
/bin/echo -e "\e[1;31mThe script has been written to enable Unity Desktop in remote session...\e[0m"
/bin/echo -e "\e[1;31mThe script is exiting...\e[0m"
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
exit
fi
#---------------------------------------------------#
# Step 1 - Download XRDP Binaries...
#---------------------------------------------------#
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;32m Downloading xRDP binaries and tools...\e[0m"
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
echo
/bin/echo -e "\e[1;33m Installing Git....Proceeding \e[0m"
echo
sudo apt-get -y install git
echo
cd ~/Downloads
## -- Download the xrdp latest files
echo
/bin/echo -e "\e[1;33m Preparing download xrdp package...Proceeding\e[0m"
echo
git clone https://github.com/neutrinolabs/xrdp.git
echo
/bin/echo -e "\e[1;33m Preparing download xorgxrdp package...Proceeding\e[0m"
echo
git clone https://github.com/neutrinolabs/xorgxrdp.git
#---------------------------------------------------#
# Step 2 - Install Prereqs...
#---------------------------------------------------#
echo
/bin/echo -e "\e[1;33m Installing Prereqs....Proceeding\e[0m"
echo
sudo apt-get -y install libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl libfuse-dev xsltproc libxrandr-dev python-libxml2 nasm xserver-xorg-dev fuse
#---------------------------------------------------#
# Step 3 - Check if Fontutil.h file exists...
#---------------------------------------------------#
#checking if file exists...
echo
/bin/echo -e "\e[1;33m Checking fontutil.h file....Proceeding\e[0m"
echo
file="/usr/include/X11/fonts/fontutil.h"
if [ -f "$file" ]
then
echo
/bin/echo -e "\e[1;37m Fontutil.h exist...Moving Next step \e[0m"
echo
else
echo
/bin/echo -e "\e[1;37m Fontutil.h will be created by script...Proceeding \e[0m"
echo
cat >/usr/include/X11/fonts/fontutil.h <
extern int FontCouldBeTerminal(FontInfoPtr);
extern int CheckFSFormat(fsBitmapFormat, fsBitmapFormatMask, int *, int *,
int *, int *, int *);
extern void FontComputeInfoAccelerators(FontInfoPtr);
extern void GetGlyphs ( FontPtr font, unsigned long count,
unsigned char *chars, FontEncoding fontEncoding,
unsigned long *glyphcount, CharInfoPtr *glyphs );
extern void QueryGlyphExtents ( FontPtr pFont, CharInfoPtr *charinfo,
unsigned long count, ExtentInfoRec *info );
extern Bool QueryTextExtents ( FontPtr pFont, unsigned long count,
unsigned char *chars, ExtentInfoRec *info );
extern Bool ParseGlyphCachingMode ( char *str );
extern void InitGlyphCaching ( void );
extern void SetGlyphCachingMode ( int newmode );
extern int add_range ( fsRange *newrange, int *nranges, fsRange **range,
Bool charset_subset );
#endif /* _FONTUTIL_H_ */
EOF
fi
#---------------------------------------------------#
# Step 4 - compiling...
#---------------------------------------------------#
# -- Compiling xrdp package first
echo
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;32mXRDP Compilation about to start !... \e[0m"
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
echo
cd ~/Downloads/xrdp
sudo ./bootstrap
sudo ./configure --enable-fuse --enable-jpeg
sudo make
#-- check if no error during compilation
if [ $? -eq 0 ]
then
echo
/bin/echo -e "\e[1;37m-----------------------------------\e[0m"
/bin/echo -e "\e[1;37mMake Operation Successful ! \e[0m"
/bin/echo -e "\e[1;37m-----------------------------------\e[0m"
echo
else
echo
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;31mError while executing make.\e[0m"
/bin/echo -e "\e[1;31mThe script is exiting...\e[0m"
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
echo
exit
fi
sudo make install
# -- Compiling xorgxrdp package first
echo
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;32mxorgxrdp Compilation about to start !... \e[0m"
/bin/echo -e "\e[1;32m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
echo
cd ~/Downloads/xorgxrdp
sudo ./bootstrap
sudo ./configure
sudo make
# check if no error during compilation
if [ $? -eq 0 ]
then
echo
/bin/echo -e "\e[1;37m-----------------------------------\e[0m"
/bin/echo -e "\e[1;37mMake Operation Successful ! \e[0m"
/bin/echo -e "\e[1;37m-----------------------------------\e[0m"
echo
else
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
/bin/echo -e "\e[1;31mError while executing make.\e[0m"
/bin/echo -e "\e[1;31mThe script is exiting...\e[0m"
/bin/echo -e "\e[1;31m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\e[0m"
echo
exit
fi
sudo make install
#---------------------------------------------------#
# Step 5 - create policies exceptions ....
#---------------------------------------------------#
echo
/bin/echo -e "\e[1;33m Creating Polkit file...Proceeding\e[0m"
echo
sudo bash -c "cat >/etc/polkit-1/localauthority.conf.d/02-allow-colord.conf" <~/.xsession << EOF\n#Unity Xrdp multi-users \n/usr/lib/gnome-session/gnome-session-binary --session=ubuntu &\n/usr/lib/x86_64-linux-gnu/unity/unity-panel-service &\n/usr/lib/unity-settings-daemon/unity-settings-daemon &\nfor indicator in /usr/lib/x86_64-linux-gnu/indicator-*;\ndo\nbasename='basename \\\\\${indicator}'\ndirname='dirname \\\\\${indicator}'\nservice=\\\\\${dirname}/\\\\\${basename}/\\\\\${basename}-service\n\\\\\${service} &\ndone\nunity\nEOF" /etc/xrdp/startwm.sh
#---------------------------------------------------#
# Step 8 - create services ....
#---------------------------------------------------#
echo
/bin/echo -e "\e[1;33m Creating xRDP Services...Proceeding\e[0m"
echo
sudo systemctl daemon-reload
sudo systemctl enable xrdp.service
sudo systemctl enable xrdp-sesman.service
sudo systemctl start xrdp
#---------------------------------------------------#
# Step 9 - install additional pacakge ....
#---------------------------------------------------#
echo
/bin/echo -e "\e[1;33m Installing xserver-xorg-core pacakges...Proceeding\e[0m"
echo
sudo apt-get -y install xserver-xorg-core
echo
/bin/echo -e "\e[1;33m checking Virtualization Platform...Proceeding\e[0m"
echo
vmversion=$(sudo dmidecode -s system-product-name)
echo $vmversion
if [ "$vmversion" = "VirtualBox" ]
then
sudo apt-get -y install xserver-xorg-input-all
else
echo "no additional package needed"
fi
/bin/echo -e "\e[1;32m----------------------------------------------------------\e[0m"
/bin/echo -e "\e[1;32mInstallation Completed\e[0m"
/bin/echo -e "\e[1;32mPlease test your xRDP configuration....\e[0m"
/bin/echo -e "\e[1;32mCheck c-nergy.be website for latest version of the script\e[0m"
/bin/echo -e "\e[1;32mwritten by Griffon - March 2018 - Version 1.9.2\e[0m"
/bin/echo -e "\e[1;32m----------------------------------------------------------\e[0m"
echo
Nicht vergessen ''install-xrdp-1.9.2.sh'' mit ''chmod +x install-xrdp-1.9.2.sh'' auch ausführbar zu machen ;-)
==== Remote Desktop III - Eine noch bessere Lösung ====
sudo su
add-apt-repository ppa:hermlnx/xrdp
apt-get update
apt-get install xrdp
===== von Ubuntu (Client) auf MS Windows® (Server) ======
=== Quelle(n): ===
* [[http://www.andysblog.de/windows-vista-7-8-x-und-10-mit-dem-rdp-wrapper-zum-terminalserver-machen|Windows Vista, 7, 8.x und 10 mit dem RDP Wrapper zum Terminalserver machen]]
* [[https://github.com/stascorp/rdpwrap/releases|RDP Wrapper Library]]
=== Shutdown per Icon: ===
* Verknüpfung auf dem Desktop erzeugen
* Ziel: ''C:\Windows\System32\shutdown.exe /s /t 0''
=== Reboot per Icon: ===
* Verknüpfung auf dem Desktop erzeugen
* Ziel: ''C:\Windows\System32\shutdown.exe /r /t 0''