mirror of
https://github.com/winapps-org/winapps.git
synced 2025-08-13 13:59:16 +02:00
Fixes for freerdp3, and for arch linux, also add convenience function to install all officially supported apps in one go, also fix a typo
This commit is contained in:
49
README.md
49
README.md
@@ -1,5 +1,6 @@
|
||||
# winapps
|
||||
The winapps main project
|
||||
|
||||
The winapps main project
|
||||
Originally created by fmstrat https://github.com/Fmstrat/winapps/
|
||||
|
||||
Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration for right clicking on files of specific mime types to open them.
|
||||
@@ -7,7 +8,9 @@ Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNO
|
||||
<img src="demo/demo.gif" width=1000>
|
||||
|
||||
## How it works
|
||||
|
||||
WinApps was created as an easy, one command way to include apps running inside a VM (or on any RDP server) directly into GNOME as if they were native applications. WinApps works by:
|
||||
|
||||
- Running a Windows RDP server in a background VM container
|
||||
- Checking the RDP server for installed applications such as Microsoft Office
|
||||
- If those programs are installed, it creates shortcuts leveraging FreeRDP for both the CLI and the GNOME tray
|
||||
@@ -15,9 +18,11 @@ WinApps was created as an easy, one command way to include apps running inside a
|
||||
- You can right click on any files in your home directory to open with an application, too
|
||||
|
||||
## Currently supported applications
|
||||
### WinApps supports ***ANY*** installed application on your system.
|
||||
|
||||
### WinApps supports **_ANY_** installed application on your system.
|
||||
|
||||
It does this by:
|
||||
|
||||
1. Scanning your system for offically configured applications (below)
|
||||
2. Scanning your system for any other EXE files with install records in the Windows Registry
|
||||
|
||||
@@ -75,6 +80,7 @@ Note: The officially configured application list below is fueled by the communit
|
||||
## Installation
|
||||
|
||||
### Step 1: Set up a Windows Virtual Machine
|
||||
|
||||
The best solution for running a VM as a subsystem for WinApps would be KVM. KVM is a CPU and memory-efficient virtualization engine bundled with most major Linux distributions. To set up the VM for WinApps, follow this guide:
|
||||
|
||||
- [Creating a Virtual Machine in KVM](docs/KVM.md)
|
||||
@@ -82,8 +88,10 @@ The best solution for running a VM as a subsystem for WinApps would be KVM. KVM
|
||||
If you already have a Virtual Machine or server you wish to use with WinApps, you will need to merge `install/RDPApps.reg` into the VM's Windows Registry. If this VM is in KVM and you want to use auto-IP detection, you will need to name the machine `RDPWindows` (auto-IP detection not supported for non-KVM VMs). Directions for both of these can be found in the guide linked above.
|
||||
|
||||
### Step 2: Download the repo and prerequisites
|
||||
|
||||
To get things going, use:
|
||||
``` bash
|
||||
|
||||
```bash
|
||||
sudo apt install -y freerdp2-x11
|
||||
git clone https://github.com/winapps-org/winapps.git
|
||||
cd winapps
|
||||
@@ -94,8 +102,10 @@ cd winapps
|
||||
> You can find nightly builds here: https://github.com/FreeRDP/FreeRDP/wiki/Prebuilds
|
||||
|
||||
### Step 3: Creating your WinApps configuration file
|
||||
|
||||
You will need to create a `~/.config/winapps/winapps.conf` configuration file with the following information in it:
|
||||
``` bash
|
||||
|
||||
```bash
|
||||
RDP_USER="MyWindowsUser"
|
||||
RDP_PASS="MyWindowsPassword"
|
||||
#RDP_DOMAIN="MYDOMAIN"
|
||||
@@ -104,10 +114,13 @@ RDP_PASS="MyWindowsPassword"
|
||||
#RDP_FLAGS=""
|
||||
#MULTIMON="true"
|
||||
#DEBUG="true"
|
||||
#FREERDP_COMMAND="xfreerdp"
|
||||
```
|
||||
|
||||
The username and password should be a full user account and password, such as the one created when setting up Windows or a domain user. It cannot be a user/PIN combination as those are not valid for RDP access.
|
||||
|
||||
Options:
|
||||
|
||||
- When using a pre-existing non-KVM RDP server, you must use the `RDP_IP` to specify it's location
|
||||
- If you are running a VM in KVM with NAT enabled, leave `RDP_IP` commented out and WinApps will auto-detect the right local IP
|
||||
- For domain users, you can uncomment and change `RDP_DOMAIN`
|
||||
@@ -115,15 +128,20 @@ Options:
|
||||
- To add flags to the FreeRDP call, such as `/audio-mode:1` to pass in a mic, use the `RDP_FLAGS` configuration option
|
||||
- For multi-monitor setups, you can try enabling `MULTIMON`, however if you get a black screen (FreeRDP bug) you will need to revert back
|
||||
- If you enable `DEBUG`, a log will be created on each application start in `~/.local/share/winapps/winapps.log`
|
||||
- If you are on a system, where the command for freeredp is not xfreerdp, change `FREERDP_COMMAND` to it.
|
||||
|
||||
### Step 4: Run the WinApps installer
|
||||
|
||||
Lastly, check that FreeRDP can connect with:
|
||||
|
||||
```
|
||||
bin/winapps check
|
||||
```
|
||||
|
||||
You will see output from FreeRDP, as well as potentially have to accept the initial certificate. After that, a Windows Explorer window should pop up. You can close this window and press `Ctrl-C` to cancel out of FreeRDP.
|
||||
|
||||
If this step fails, try restarting the VM, or your problem could be related to:
|
||||
|
||||
- You need to accept the security cert the first time you connect (with 'check')
|
||||
- Not enabling RDP in the Windows VM
|
||||
- Not being able to connect to the IP of the VM
|
||||
@@ -131,16 +149,19 @@ If this step fails, try restarting the VM, or your problem could be related to:
|
||||
- Not merging `install/RDPApps.reg` into the VM
|
||||
|
||||
Then the final step is to run the installer which will prompt you for a system or user install:
|
||||
``` bash
|
||||
|
||||
```bash
|
||||
./installer.sh
|
||||
```
|
||||
|
||||
This will take you through the following process:
|
||||
|
||||
<img src="demo/installer.gif" width=1000>
|
||||
|
||||
|
||||
## Adding pre-defined applications
|
||||
|
||||
Adding applications with custom icons and mime types to the installer is easy. Simply copy one of the application configurations in the `apps` folder, and:
|
||||
|
||||
- Edit the variables for the application
|
||||
- Replace the `icon.svg` with an SVG for the application (appropriately licensed)
|
||||
- Re-run the installer
|
||||
@@ -149,21 +170,27 @@ Adding applications with custom icons and mime types to the installer is easy. S
|
||||
When running the installer, it will check for if any configured apps are installed, and if they are it will create the appropriate shortcuts on the host OS.
|
||||
|
||||
## Running applications manually
|
||||
|
||||
WinApps offers a manual mode for running applications that are not configured. This is completed with the `manual` flag. Executables that are in the path do not require full path definition.
|
||||
``` bash
|
||||
|
||||
```bash
|
||||
./bin/winapps manual "C:\my\directory\executableNotInPath.exe"
|
||||
./bin/winapps manual executableInPath.exe
|
||||
```
|
||||
|
||||
## Checking for new application support
|
||||
|
||||
The installer can be run multiple times, so simply run the below again and it will remove any current installations and update for the latest applications.
|
||||
``` bash
|
||||
|
||||
```bash
|
||||
./installer.sh
|
||||
```
|
||||
|
||||
## Optional installer command line arguments
|
||||
|
||||
The following optional commands can be used to manage your application configurations without prompts:
|
||||
``` bash
|
||||
|
||||
```bash
|
||||
./installer.sh --user # Configure applications for the current user
|
||||
./installer.sh --system # Configure applications for the entire system
|
||||
./installer.sh --user --uninstall # Remove all configured applications for the current user
|
||||
@@ -171,9 +198,9 @@ The following optional commands can be used to manage your application configura
|
||||
```
|
||||
|
||||
## Shout outs
|
||||
|
||||
- Some icons pulled from
|
||||
- Fluent UI React - Icons under [MIT License](https://github.com/Fmstrat/fluent-ui-react/blob/master/LICENSE.md)
|
||||
- Fluent UI React - Icons under [MIT License](https://github.com/Fmstrat/fluent-ui-react/blob/master/LICENSE.md)
|
||||
- Fluent UI - Icons under [MIT License](https://github.com/Fmstrat/fluentui/blob/master/LICENSE) with [restricted use](https://static2.sharepointonline.com/files/fabric/assets/microsoft_fabric_assets_license_agreement_nov_2019.pdf)
|
||||
- PKief's VSCode Material Icon Theme - Icons under [MIT License](https://github.com/Fmstrat/vscode-material-icon-theme/blob/master/LICENSE.md)
|
||||
- DiemenDesign's LibreICONS - Icons under [MIT License](https://github.com/Fmstrat/LibreICONS/blob/master/LICENSE)
|
||||
|
||||
|
Reference in New Issue
Block a user