X410 version 2.7.0 is submitted to Microsoft Store and should be available soon! Here are some of its highlights.
- Just like plain text, you can now also share images (BMP/PNG) and HTML text between Windows and Linux GUI apps via clipboard.
X410 natively recognizes and transfers raw image data in BMP and PNG formats. However, Windows and Linux automatically convert many image formats such as 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, you may not be able to paste the data due to the delays and timeouts for synchronizing the two clipboards.
- Keyboard layout files are updated to 'xkeyboard-config' version 2.27. You should no longer receive errors such as 'Error loading new keyboard description' while setting up your keyboard layout via 'setxkbmap'.
- X410 can now be used with Hyper-V Linux virtual machines for opening their GUI desktop via VSOCK (virtual socket).
By using VSOCK, you don't need to worry about configuring firewall or IP address. As X410 seamlessly supports Windowed Apps mode and shared clipboard, you can also use Linux GUI apps side by side with Windows apps instead of confining them to a Hyper-V console. Moreover, your virtual machines will be using less system resources since you don't need to run XRDP or other GUI desktop separately for each Linux virtual machine.
For an example of using this new feature, please read 'Using X410 with Hyper-V Linux Virtual Machines via VSOCK'.
- X410 now accepts a command-line argument (:displaynumber) for designating a display number. You can concurrently run X410 for each display number and maintain separate settings. For example, if you want to start X410 for display number 1, you can use the following command from PowerShell or Windows Command Prompt:
- 'Shared Clipboard' options are added to the X410 tray icon context menu. You can use the new options to enable or disable transferring selected text between Windows and Linux GUI apps.
- Improved shared clipboard data handling
- Improved rendering speed in Floating Desktop mode
▬ Version 16.1.0
- Context popup menus for selected text are now correctly positioned on HiDPI monitors
- You can now select text even in Xterm mouse mode without using any special keyboard combo (no SHIFT key required)
- Improved connection stability for serial devices
- Improved UI consistency with Windows 10 October 2018 Update
▬ Version 16.0.0
- Improved interpreting terminal control codes
- Importing private keys no longer shows an erroneous exception message box for successful transfer
- Fixed unexpected crashes when URL's are used for opening terminals
- Token2Shell version 16+ requires Windows 10 October 2018 Update (Build 17763)
- Improved handling drag-and-drop and popup menu positions on HiDPI screens
- Window stacking problems in Windowed Apps mode have been fixed
- Now supports public access mode that can be used for directly connecting to X410 from local virtual machines or trusted remote computers. Since any app can connect to X410 in this mode, please use Windows Firewall to properly limit hosts that can access X410.
- X410 no longer applies a HiDPI scale factor from the primary monitor; X410 now applies a normal DPI and automatically scales the output according to the HiDPI setting of the current monitor. If you're using multiple monitors with different DPI's, the new behavior should provide more visual consistency and better usage experience
- Multi-level popup menus in Windowed Apps mode should now be correctly positioned
- Desktop mode should now be correctly switched to its rendering mode even if a launched Linux GUI executable doesn't initially generate any output (ex. Openbox window manager)
- Running apps are now shown on X-Window taskbars and docks (ex. Xfce4 panel) in Windowed Apps mode
- A desktop X-Window that covers the Windows desktop (ex. Xfce4 desktop) is now automatically hidden in Windowed Apps mode
- Improved memory usage; X410 now even consumes less!
- Fixed various unexpected crashes in Windowed Apps mode. If you do experience any crash or glitch while using your favorite Linux GUI apps with X410, please tell us. Such problems exist probably because we don’t know about them.
The new version 2.0 has been submitted to Microsoft Store and should be available soon. The following summarizes the new features and improvements added in 2.0.
▬ Consumes less memory
When X410 is launched in 'Windowed Apps' mode it now only consumes less than 10MB. More memory will be used as you open more new X-Window GUI apps but the memory is returned when you close the apps.
This new memory management scheme and usage in X410 should provide more flexibility in seamlessly integrating Linux GUI apps with Windows native apps as the overhead for always running X410 is becoming negligible; it certainly now consumes less memory than your Web browser!
▬ Runs faster
We have improved and optimized how X410 renders graphic output from X-Window GUI apps. X-Window GUI apps should now be more responsive while using less CPU cycles. Just open Windows Task Manager and check how much CPU cycles an X-Window app uses in X410! Please note that the CPU cycles shown in Task Manager is for rendering the graphic output from the app; it's not showing the CPU cycles used by the app for its own computations and management.
▬ Direct3D is now used for Desktop mode
Desktop mode in X410 now uses Direct3D. DirectDraw 4 was used in the previous versions of X410. Although DirectDraw is still supported in Windows 10, it seemed good time to upgrade the engine. The new Direct3D based rendering engine doesn't give you significantly improved performance but it opens new possibilities for future versions of X410.
The lowest version of Direct3D that X410 uses is 11. If X410 cannot find any compatible video hardware, it automatically falls back to the Windows GDI.
In case you're curious about the version of DirectX that your X-Window server uses, try using "ListDLLs" from Microsoft. After launching your X-Window server in its desktop mode, run the ListDLLs program. If you find "ddraw.dll", it's based on DircetDraw. For Direct3D 11 or 12, you should be able to find "d3d11.dll" or "d3d12.dll" respectively.
▬ Acrylic is the new black
When you launch X410 in Desktop mode, it now shows a semi-transparent acrylic background. It has no functional purpose and it'll be removed as soon as you launch your GUI desktop environment. The new acrylic background just looked better!? :-)
▬ Improved HiDPI support
X410 now accesses raw pixels for all connected monitors. It now also has built-in DPI scaling mode. If you're using a HiDPI monitor, we recommend scaling the output from the app itself as outlined in the following post:
However, if your X-Window app doesn't have a scaling option, the newly added "DPI Scaling" setting should be handy. X410 has two options for DPI scaling: 'Default' and 'High Quality'. The 'Default' option uses a linear image scaling algorithm that's fast but the output is blurry. The 'High Quality' option uses a cubic algorithm and generates less blurry output but requires more CPU cycles.
In Desktop mode, Direct3D handles the DPI scaling and you cannot change the scaling algorithm it uses.
- DPI Scaling Mode: None (Recommended)
The following sample screenshot is captured when the scaling is done from an actual app by setting the 'GDK_SCALE' environmental variable to 2 (200% Scaling); "
- DPI Scaling Mode: Default
X410 scales the output according to the Windows » Settings » Display » "Scale and layout" options. Please note that its blurriness cannot be completely avoided as the original output is in low resolution.
- DPI Scaling Mode: High Quality
Same as the "Default" scaling mode but uses a cubic scaling algorithm that produces less blurry output.
▬ Improved clipboard support
X410 currently only supports copying and pasting plain text. If you have a data format that you want to share via the clipboard among Windows and X-Window apps, please let us know. We'll be more than happy to look into it for possible inclusion in the future version.
▬ Improved window management
In Windowed Apps mode, X410 now properly recognizes full screen mode (F11), minimize and maximize button events. Other enhancements and fixes have been added to make X-Window apps run more seamlessly in Windows 10.
Login Agent now supports manually pre-loading the public keys on PIV smart cards (ex. YubiKey 4/Neo). This can be handy when you want to test your PIV smart card without creating an Address Book entry. It can also be used to cache the PIN for your PIV smart card even when you disabled the "Cache SSH login data" option in Login Agent.
Do you want to add your YubiKey to your SSH server account? No problem! Just plug in your YubiKey and get its public key in OpenSSH format by using the "Copy Public Key to Clipboard" menu in Private Keys panel. You can then paste the public key to your server settings just like any other key, no muss, no fuss.
- PIV smart cards (ex. YubiKey 4/Neo) are now natively supported for the SSH public key user authentication. When you want to use a PIV smart card for SSH, simply select one of the virtual "<piv-card>" private key files. You can also copy OpenSSH public keys directly off a PIV smart card and conveniently set up your SSH.
- A PIV smart card is now automatically included in SSH agent forwarding even when the [ Login Agent ] » "Cache SSH login data" option is turned off. So when you want to use your PIV smart card with SSH agent forwarding, just plug it in and you're ready!
- You can now explicitly specify a command to run for SSH connections. This can be handy when you want to directly execute programs on your server without using any script. If you're using WSL, you can also use this feature to setup an "Open Token2Shell here" shortcut in File Explorer.
- Address Book entry settings for SSH and Docker connections can now be overridden via URI query arguments. This should be useful in batch files that launch Token2Shell with different remote commands while using the same Address Book entry for Auto Login and other settings.