Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kbumsik/VirtScreen

Make your iPad/tablet/computer into a secondary monitor on Linux.
https://github.com/kbumsik/VirtScreen

ipad linux monitor python qml qt5 second-screen vnc

Last synced: 6 days ago
JSON representation

Make your iPad/tablet/computer into a secondary monitor on Linux.

Awesome Lists containing this project

README

        





VirtScreen


Make your iPad/tablet/computer as a secondary monitor on Linux.



VirtScreen

## Description

VirtScreen is an easy-to-use Linux GUI app that creates a virtual secondary screen and shares it through VNC.

VirtScreen is based on [PyQt5](https://www.riverbankcomputing.com/software/pyqt/intro) and [asyncio](https://docs.python.org/3/library/asyncio.html) in Python side and uses [x11vnc](https://github.com/LibVNC/x11vnc) and XRandR.

## Features

* No more typing commands - create a second VNC screen with a few clicks from the GUI.
* ...But there is also command-line only options for CLI lovers.
* Highly configurable - resolutions, portrait mode, and HiDPI mode.
* Works on any Linux Distro with Xorg
* Lightweight
* System Tray Icon

## How to use

1. Run the app.
2. Set options (resolution etc.) and enable the virtual screen.
3. Go to VNC tab and then start the VNC server.
4. Run your favorite VNC client app on your second device and connect it to the IP address appeared on the app.

### CLI-only option

You can run VirtScreen with `virtscreen` (or `./VirtScreen.AppImage` if you use the AppImage package) with additional arguments.

```bash
usage: virtscreen [-h] [--auto] [--left] [--right] [--above] [--below]
[--portrait] [--hidpi]

Make your iPad/tablet/computer as a secondary monitor on Linux.

You can start VirtScreen in the following two modes:

- GUI mode: A system tray icon will appear when no argument passed.
You need to use this first to configure a virtual screen.
- CLI mode: After configured the virtual screen, you can start VirtScreen
in CLI mode if you do not want a GUI, by passing any arguments

optional arguments:
-h, --help show this help message and exit
--auto create a virtual screen automatically using previous
settings (from both GUI mode and CLI mode)
--left a virtual screen will be created left to the primary
monitor
--right right to the primary monitor
--above, --up above the primary monitor
--below, --down below the primary monitor
--portrait Portrait mode. Width and height of the screen are swapped
--hidpi HiDPI mode. Width and height are doubled

example:
virtscreen # GUI mode. You need to use this first
# to configure the screen
virtscreen --auto # CLI mode. Scrren will be created using previous
# settings (from both GUI mode and CLI mode)
virtscreen --left # CLI mode. On the left to the primary monitor
virtscreen --below # CLI mode. Below the primary monitor.
virtscreen --below --portrait # Below, and portrait mode.
virtscreen --below --portrait --hipdi # Below, portrait, HiDPI mode.
```

## Installation

### Universal package (AppImage)

Download a `.AppImage` package from [releases page](https://github.com/kbumsik/VirtScreen/releases). Then make it executable:

```shell
chmod a+x VirtScreen.AppImage
```

Then you can run it by double click the file or `./VirtScreen.AppImage` in terminal.

### Debian (Ubuntu)

Download a `.deb` package from [releases page](https://github.com/kbumsik/VirtScreen/releases). Then install it:

```shell
sudo apt-get update
sudo apt-get install x11vnc
sudo dpkg -i virtscreen.deb
rm virtscreen.deb
```

### Arch Linux (AUR)

There is [`virtscreen` AUR package](https://aur.archlinux.org/packages/virtscreen/) available. Though there are many ways to install the AUR package, one of the easiest way is to use [`yaourt`](https://github.com/polygamma/aurman) AUR helper:

```bash
yaourt virtscreen
```

### Python `pip`

Although not recommended, you may install it using `pip`. In this case, you need to install the dependancy (`xrandr` and `x11vnc`) manually.

```bash
sudo pip install virtscreen
```