X410 can be used in various X11 usage scenarios that require an X-Window server. For example, you can use it for X11 forwarding in SSH sessions or directly starting Xfce desktop in Windows Subsystem for Linux.
Even when you install and run X410 for the first time, it is ready for your Linux GUI apps! If you want to change its options, please use its Settings
window that pops up when you click the X410 icon on the Windows taskbar notification area.
SERVER MODE
X410 has two running modes, 'Windowed Apps' and 'Floating Desktop'. When you select the Windowed Apps mode, X410 only shows a tray icon. In this mode, when you execute a Linux GUI app, it will be shown in a typical Windows-style window that can be freely moved around just like a regular Windows program. However, you cannot run any Linux GUI window manager such as i3 in this mode since X410 is already acting as a window manager for Linux GUI apps.
In Floating Desktop mode, X410 will be shown as a blank window that can be resized. All your Linux GUI apps will be displayed and confined within this window. In order to properly manage Linux GUI apps displayed in this mode, you should also run a Linux GUI window manager such as i3. You can also run a full Linux GUI desktop such as Xfce in this mode. When you maximize the X410 window, X410 automatically hides its window title bar and provides more immersive Linux GUI desktop experience (you can exit from this maximized mode any time by pressing CTRL+ALT+BACKSPACE
).
If you have multiple X410 running for different display numbers, you can activate or deactivate them with keyboard shortcuts CTRL+ALT+F1/F2/F3/F4/F5
. CTRL+ALT+F1/F2/F3/F4/F5
correspond to the display number 0 through 4 assigned to X410 respectively.
DPI SCALING
When you enable 'DPI Scaling' option in X410, your Linux GUI apps are enlarged according to the scaling settings in Windows. You can control the quality of the scaling by selecting 'Default' or 'High Quality (Windowed Apps Only)'; the 'Default' option should give you similar performance and output as classic Windows programs that don't support native Windows HiDPI rendering.
If you want to crisply scale your Linux GUI apps, you should disable this 'DPI Scaling' option and use the natively supported scaling option (ex. GDK_SCALE) in your Linux GUI apps.
SHARED CLIPBOARD
If you want to share clipboard data between Linux and Windows apps, you can enable 'Shared clipboard' option in X410. When this option is enabled and you copy plain text in a Windows app, you can seamlessly paste that text to any Linux app just by using its clipboard paste menu. It also works from Linux to Windows apps.
If you enable 'Auto copy to Windows after selection' option in X410, you don't need to explicitly select a copy menu in your Linux app; when you finish selecting text in a Linux app, X410 automatically transfers it to Windows clipboard.
Just like plain text, you can also share images (BMP/PNG) and HTML text between Windows and Linux apps when this option is enabled. X410 natively recognizes and transfers raw image data in BMP and PNG formats. However, Windows and Linux automatically convert many image formats for clipboard operations (ex. JPG to BMP format). Hence you should be able to freely copy and paste most images between the two OS's via X410.
Please keep in mind that the clipboard sharing in X410 is utilizing network communication functions instead of system memories. So, if your clipboard data is too big (ex. a high-resolution BMP image) or your Linux app is running over a slow X11 forwarding SSH session, you may not be able to copy and paste the data due to the delays and timeouts for synchronizing the two clipboards.
ACCESS CONTROL
X410 supports various connection methods that can be used for setting up your DISPLAY environment variable. For TCP connections, X410 also has a built-in inbound connection blocking feature that only allows connections from WSL2 and/or Hyper-V virtual machines.
Starting from X410 version 3.0.0, an inbound rule for allowing public TCP connections is automatically added to Windows Defender Firewall when you install X410. Hence, unlike the previous versions, you'll not see any security alert message box or need to separately enable any 'public network' setting in Windows even when you select the 'Allow full public access' option in X410.
Set the DISPLAY environment variable!
Before you can run any X-Window client program (ex. GNU Octave) or desktop environment (ex. Xfce), you must first properly set up the DISPLAY environment variable within the server where your X-Window client programs are running. That variable is referenced from those client programs for opening connections to X410 and pushing out their graphical output.
If the DISPLAY environment variable is incorrectly configured, you'll get an error message similar to the one shown below:
$ xclock
Error: Can't open display: 172.27.160.1:0.0
More detailed guides for configuring the DISPLAY environment variable
- Windows Subsystem for Linux (WSL)
- Hyper-V Virtual Machines
- Docker Desktop for Windows
- X11 forwarding over SSH
- Built-in SSH X11 forwarding in PowerShell or Windows Command Prompt
- Enabling SSH X11 forwarding in Visual Studio Code for remote development
- Transparently adding native support for VSOCK in X11 apps (patching libxcb)
Troubleshooting
X410 Setup Tips and Usage Examples
- Running X410 on HiDPI Screens
- Selecting a Keyboard Layout
- Automatically Start X410 on Login
- Command-Line Switches
- Adding your own X-Window bitmap or TrueType fonts to X410
- Enabling indirect GLX / OpenGL
- Enabling the new UI in IntelliJ IDEA running on WSL or over SSH X11 forwarding
- Add yourself to Hyper-V Administrators group and freely use Hyper-V related commands without becoming a full system administrator
- How to install 'X410 (Version 3)' from Microsoft Store