6. Linux and Windows interoperability#
6.1. Tools to access the system resources and apps between Linux and Windows.#
Setup hostname resolution between Windows 10 and the desktop.
Access Linux shell remotely from Windows 10 via SSH client, such as putty.
Run GUI applications on Linux remotely by using Xming X-server on Windows.
Access Windows desktop remotely from Linux via xfreerdp utility.
File system sharing over the network between Linux and Windows via SMB/CIFS.
6.2. Linux desktop and Windows 10 VM communication.#
Both the Linux desktop and Windows 10 should be running on the same VDI node to be able to communicate with each other by their “internal IP” addresses on the 192.168.0.0/24 private network.
6.3. Windows VDI node settings (Exercise)#
Verify that Windows 10 is located on the same VDI node. Otherwise, migrate it to the node where the Linux desktop is running.
On the VDI portal, enter the settings for the desktop:
In the Options, check the node assignment:
Enter Windows 10 Options in the settings. Change the node assignment if it is different from that for the Linux desktop:
6.4. Name resolution setup of the linux desktop on Win 10 (Exercise)#
Get the “internal IP” address of the Linux desktop from the VDI portal:
Start Windows 10 in the VDI portal.
Login to Windows 10 via RDP. Use the same username and password as for the VD desktop.
We’ll be accessing the desktop from win10 over the private virtual network. The links below demonstrates how to add the IP address of virbr of your Linux desktop, 192.168.0.214 (your Linux desktop may have different IP address), to the windows host file: Launch Notepad as Administrator,
navigate to C:\WINDOWS\system32\drivers\etc
, and open file hosts,
add the following line in end of the file.
file content
192.168.0.214 desktop
Save the file:
Try pinging the desktop by the host name from the command line, cmd: (Links to an external site.)
ping desktop
6.5. Windows SSH client (Exercise)#
Windows 10 and 11 come with OpenSSH client installed. In the command prompt, check the version of SSH client:
ssh -V
If the version is below 8.5, it won’t allow running GUI via X11 tunneling on Windows.
We’ll use putty.exe
SSH.
putty.exe
is executable ssh client for Windows.
It can be downloaded from here
Normally, you would download the 64 bit executable, putty.exe
.
On your win10
desktop, putty
is already installed. You can access it in the start menue.
By using putty, SSH to your Linux desktop by using host name desktop
. You should be able to login as hostadm.
6.6. X server on Windows 10 (Exercise)#
In order to be able to run GUI applications off of Linux remotely, you need to have an X-server on your desktop. Most of the Linux distros come with X.Org. There are commercial and open source X-servers for Windows, for example, Opentext Exceed, Xwin32, X.Org in Cygwin, and Xming.
Xming is available for download at Sourceforge
On your win10 host, Xming is already installed.
Start XLauncher by following the steps below:
Click next:
Click next:
Click finish:
Verify that the X-server is running on the VM: click on “Show hidden icons” on the Taskbar, then bring the cursor to the Xming icon. It should show “Xming Xserver”
6.7. Run ssh client (putty.exe) with X11 forwarding.#
Run
putty.exe
on Windows 10. In the ssh options, enable X11 forwarding as shown in the figures below:
Connect to your Linux desktop, via ssh as user hostadm.
In the command prompt, run a GUI application, for example,
xeyes
. It should pop up a pair of eyes on the desktop.
6.8. Enable RDP service on Windows 10 (Exercise)#
On Windows 10 VM, right click onto the start menu, then select the settings.
In the Remote Desktop section, make sure Remote Desktop is set to ON.
In the Advanced settings, disable Network Login.
Add user hostadm to the list of users for Remote Desktop.
Check the IP address of win10 by running command ipconfig/all
in the Command terminal.
We’ll need this IP address in the next exercise.
Disconnect the viewer from win10.
6.9. Linux RDP client (Exercise)#
Add the IP address of win10, into /etc/hosts
on your desktop for the host name resolution, as below for example.
file content
192.168.0.71 win10
Note, the IP address for your Windows 10 maybe different.
Try pinging win10
to make sure it is accessible from the desktop:
ping -c 3 win10
On your desktop, install freerdp2-x11
:
apt install freerdp2-x11
Connect to the Windows RDP as user hostadm:
xfreerdp /u:hostadm /cert-ignore /v:win10
If you need to logout from win10 desktop, please sign out from user hostadm as shown below.
6.10. Samba (SMB) file sharing from Linux to Windows#
6.11. Samba installation and configuration (Exercise)#
Install samba packages on the Linux desktop:
apt install samba samba-common smbclient
Backup the original samba configuration file, smb.conf:
cd /etc/samba
mv smb.conf smb.conf-orig
Create a new configuration file, smb.conf, in directory /etc/samba with the following content:
file content
# Global parameters:
[global]
disable spoolss = Yes
security = USER
server string = SMB
workgroup = GROUP16
idmap config * : backend = tdb
[homes]
browseable = No
comment = Home Directories
path = /home/%S
read only = No
valid users = %S
Run command testparm
to verify there is no errors in smb.conf:
testparm
Restart the samba services:
systemctl restart smbd
systemctl restart nmbd
Note, you need to restart the services any time after file smb.conf is modified. Create a new user samba account:
smbpasswd -a hostadm