VirtScreen on openSUSE | Turn a Tablet into a Second Monitor

When I take my laptop and I go into a mobile mode, I’m often missing a second or third screen. Frequently, my need isn’t having full motion video or anything of that sort, it’s just the ability to have text displayed in some form, be it PDF or web page, beside my main screen. Most of the time, that is how I use my multi-screen layout. One screen is my main workspace while the others display reference information.

I came upon this long lost solution on the BDLL discourse from Eric Adams.

https://discourse.bigdaddylinux.com/t/use-your-tablet-as-a-monitor-with-virtscreen/104

Key difference in my implementation versus his, both of us using KDE plasma. His solution is probably more elegant and could probably better take advantage of my AMD GPU but my solution is quick and dirty but gets the job done.

Host Device

Since this package is not available in the openSUSE repositories, I downloaded the AppImage here:

https://github.com/kbumsik/VirtScreen

There are further instructions on that page but I am going to only highlight how I used it on openSUSE Tumbleweed with the Plasma Desktop Environment. Looking at the system requirements, I had to install X11VNC

sudo zypper install x11vnc

Since I used the AppImage, I had to make it executable. To do that in terminal, navigate to the location of the AppImage and run this:

chmod a+x VirtScreen.AppImage

Alternatively, if you are using Plasma with the Dolphin file manager, navigate to the location of the AppImage, right-click, select Properties (or Alt+Enter when highlighted). Select the Permissions tab and select the Is executable button.

Upon Launching it, I set the resolution of my Tablet, which is my HP Touchpad that I set up with F-Droid. I made an adjustment to the Height to adjust for the navigation buttons that seem to get stuck in the ON position.

I selected the Enable Virtual Screen.

Next, I needed to Open Display Settings to arrange the screens.

Unfortunately, there was an error that caused the display settings to not open. I went into the preferences to see what the other options were. Since I know I didn’t want Gnome, I went with ARandR.

Since it wasn’t installed, I went to openSUSE Software and searched for it.

https://software.opensuse.org/package/arandr

After installing ARandR, VirtScreen still could not launch ARandR. Thankfully, I was able to launch ARandR using Krunner (menu works too) and made the adjustment to the screen location.

The next step was to activate the VNC Server within VirtScreen by setting the password and opening up the appropriate port in the Firewall. Since the openSUSE default is Firewalld at the time of writing. You can either do so with the GUI, which is pretty straight forward or use the terminal.

To get the active firewall zone

sudo firewall-cmd --get-default-zone

Assuming you are only using the default zone, Public (adjust based on

sudo firewall-cmd --zone=public --permanent --add-port=5000-5003/tcp
sudo systemctl restart firewalld

If you are not running Firewalld you will have to adjust for your particular firewall.

The final step is to activate the VNC Server.

Client Device

The client device in my case is my HP Touchpad. The client software I set up that worked best from the F-Droid store was AndroidVNC. If you have one that you prefer, by all means, use that instead.

This is the easy part. Here, set the Connection Nickname, Address and Port. I did set it to the 24-bit color but would get better speed with a lower color depth but not so much as to make the the display much faster, it does, however, make the display much more annoying to look at.

Once you command the client to make the connection, and everything else is done correctly, the client will connect to the host and you will have a second, albeit a bit sluggish 2nd monitor to use for any low frame-rate functions.

I use this for displaying PDFs, web pages like wikis, chat clients or anything else that doesn’t require high frame rate. This is often useful when I am doing different admin types of tasks that require me to look at published documents and I am away from my SuperCubicle (home office). It is very, very handy.

Final thoughts

This is a great little project for making old tablets, such as my HP Touchpad, even more useful. It just doesn’t take much processing power by the client device to peer into a VNC host.

Issues I have noticed. On some Wi-Fi networks, I am not able to make the connection between the devices. I’m sure either ports or some sort of walking is happening that is preventing me from making the connection.

When you set up your VNC client on the tablet or whatever, you have to be sure that you take into account loss of screen real-estate due to whatever the client does on the boarders. Optionally, find a way to turn off the pointer on the client. If you don’t, you get weird flickering. Sometimes, the client or host will just disconnect. I have not yet tracked down the root cause of the problem but it doesn’t happen frequently enough for me to do anything about it.

Full motion video is not actually possible with this. I wouldn’t recommend watching any YouTube videos but more static web pages or using it for chat clients like IRC, Telegram, Discord, or the like is perfectly usable.

How often will I use this? Only when I have to and that is at least monthly. There are a few issues with the setup but it is perfectly usable with just a bit of fiddling. Hopefully this will continue to get attention and work done by the developer.

Reference

VirtScreen on GitHub.com
Use Your Tablet as a Monitor with VirtScreen on discourse.bigdaddylinux.com
HP TouchPad in 2018 on CubicleNate.com

Advertisements

Xfce, A Model GTK Based Desktop | Late Summer Blathering

In full disclosure, Plasma is my Desktop Environment of choice, it is very easy to customize and to make my own with very little effort. As of late, there isn’t a whole lot of customizing I do, it’s all pretty minor. A couple tweaks to the the visuals, make it dark, change some sound effects to make it more Star Trek The Next Generation, add a couple Plasmoids and set up KDE Connect. Then I am ready to go.

Since KDE 3 and later Plasma, each release adds and refines existing features, all of which seems as though they are doing so in a sustainable fashion. New releases of Plasma are always met with excitement and anticipation. I can count on new features and refinements and an overall better experience. I didn’t look anywhere else but then, Xfce wondered into my world and although slow to change has become that desktop too. Historically, Xfce has been [for me] just there, nothing particularly exciting. It has held the spot of a necessary, minimal viable desktop… but not anymore.

Previous Xfce Experiences

Using Xfce was like stepping back in time to an era of awkwad looking computer innocence, where icons were mismatched and widgets were a kind of grey blockiness with harsh contrasting lines. Such a great time… While KDE Plasma and Gnome moved on, working in new visuals and staying “modern,” Xfce did it’s own thing… or nothing… I don’t really know but it, in my eyes, became the dated desktop environment. It was always rock solid but wasn’t much to look at. To be fair, there were some examples of real decent looking expressions of Xfce but I unfairly dismissed it.

New Experiences with Xfce

I started to do a little distro and desktop hopping, not to replace my preferred setup, openSUSE Tumbleweed with Plasma, but to see what else is out there and to play with some other examples of desktop design and experience. One such example that I really enjoyed was MX Linux.

It is a clean and pleasant experience that doesn’t scream 2002. The configuration options are plentiful and easy to understand. Not to mention the Dark theme looks simply fantastic. Then there is Salient OS which has a slick and modern look. It didn’t look Plasma but looks like the present and doesn’t make you think of the traditional Xfce environment.

Then came Endeavour OS where, for just a moment, I thought I was using Plasma. It is truly a slick Xfce environment with some great choices for appearance.

Although, 4.12 was released in 2015 and some speculated the project as being dead, new breath life came to the users of this project and just recently (Aug 2019), version 4.14 was released.

Xfce’s latest release didn’t take away features or trim out functionality. It only added new features and refined the the whole desktop. Most notably, a complete (I think) move to GTK3 from GTK2 which allows for better HiDPi support (great for those with the hardware), improvements to the window manager to have a flicker and tearing free experience. A “Do Not Disturb” feature was added to the notifications and many, many more things but these stand out the most to me. More can be read here at the official source for Xfce News.

Xfce on openSUSE

It was announced that Xfce 4.14 landed in openSUSE Tumbleweed. I wanted to see how that experience shaped up. A Telegram friend Mauro shared his Xfce desktop with me and I was blown away by how it looked. I sure didn’t think, Xfce, in the traditional sense.

Then, I wanted to see, how does Xfce on openSUSE look, right out of the gate, just as you log in for the first time. What is my vanilla experience. I installed Xfce direct from the YaST installer on a fresh disk but in case you want to try it on your openSUSE Tumbleweed instance, just run this:

sudo zypper in -t pattern xfce

After booting it up, it looked really quite respectable. I appreciate the new welcome screen, right out of the gate. This is a welcome re-addition to openSUSE. Something that drifted away about 4 or 5 years ago.

I wanted to see what themes were built in. How I could tweak it just a bit and make it my own. I must say, I am pleasantly surprised; ecstatic, really.

After adjusting the theme to something dark, I came to the conclusion that Xfce is fantastic, it is simply fantastic and I take every bad thing I have ever said about GTK back. Xfce is, in my opinion, the premier GTK based desktop. It is fully functional, easy to customize and respectful or system resources and incredibly responsive.

Everything about is easy to tweak to make my own. There wasn’t a special “tweak tool” that had to be installed not part of the regular settings, it was all there. The boot up time on an a Xfce only system is a break neck speed. I don’t know what they have done at openSUSE to make this happen but just wow and Thank You!

I didn’t make much in the way of tweaks to Xfce to make it the way I prefer. Like when playing Monopoly® with my kids, I like to have my cards laid out a specific way and as such, I made some slight changes to the panel along the bottom and added just a hint of transparency because, why not. I also did a bit of a tweak to color theme to make it to my liking, and I was ready to go. The adjustments took me all of 4 minutes and I was grinning from ear to ear. Like an 8 year old on Christmas morning, staring at the tree with presents beneath it, I was excited from my finger tips to my toes just ready to tear into the gifts I have yet to uncover.

Final Thoughts

Xfce is the GTK desktop environment that seems to have all the necessary elements, clean interface and the ease of customization that rivals KDE Plasma. This is “not your father’s Xfce” as it were. This is an Xfce that doesn’t “just get out of the way” it says, I am here, I am ready to give you a great desktop experience and I won’t mess a single thing up. It says, I am down to business but if it’s play time, I mean business about play time too.

I have now used Xfce 4.14 on top of openSUSE, MX Linux, Salient OS and Endeavour OS. They are all great examples of how Xfce should look, the crisp and immediate sense of responsiveness that insists on productivity. In my observation, Xfce is the model GTK desktop, the standard to which all others should be measured against. It’s stability, efficiency, easily customized and makes the desktop truly a personal experience.

References

Xfce Official Release
Xfce 4.14 Lands in openSUSE Tumbleweed
https://cubiclenate.com/2019/03/06/salient-os-review-from-an-opensuse-user/
https://cubiclenate.com/2019/08/20/endeavour-os-review-from-an-opensuse-user/
openSUSE Portal:Xfce

Wavebox | Chat Unification Snap Application on openSUSE Tumbleweed

Wavebox on openSUSE

From time to time, I like to play around with the universal packaging available in Linux. It has mostly been AppImages and Flatpak but I wanted to Snap something into my system. After working out an AppArmor issue. Snaps were working fantastically well once again. The application I wanted to try was another Chat Message Unification Application. I had heard wonderful things about Wavebox so it was time to try it out. It’s described as, “A clever new home for cloud apps on your desktop bringing Gmail, Inbox, Outlook, O365, Trello, Slack & over 1000 more apps into a configurable client.”

You can look at the details here on the SnapCraft store.

Wavebox Snap 19

In a terminal I installed Wavebox from the Snap Store:

sudo snap install wavebox

Installation was a snap (haha) and it created an entry in the application menu of KDE Plasma, just as one would expect. It should also be noted that the system tray icon also looks great next to the rest of the icons sitting there too.

Wavebox Snap 20 System Tray.png

When the Application started up, I didn’t notice any lengthy start up time that has been complained about in the past with Snaps. It was delightfully… snappy… and when it settled I was greeted with a pleasant interface. There was no question as to what I needed to do, create an account.Wavebox Snap 2

Going through the process was really quite trivial. You begin by entering your name, email and password. I elected to setup two-factor authentication which did require me to install an application on my phone…

After you have logged in, you can add your first application. I went with Slack, specifically the Bad Voltage slack group. There is a convenient search box right at the top of the uncluttered interface.

I am not 100% sure what the “Pic a Colour” section does, entirely but it does create a ring around thee account on the side tab of the service. Setting up Slack was trivial and has the same basic feel of what you would have in the web browser.

What I think is interesting is the different customization features you can specify for each module you add. What is interesting to me is the ability to put a tab to sleep and stop it after some time of inactivity. I don’t know exactly what that means and how it is implemented but if that is what I am thinking it is, that should be more kind to your system when on battery power. I find with all the services running in either a browser or other Chat Unification applications, the CPU usage is noticeable.

Wavebox Snap 11

I wanted to install the G-suite of tools and began that process by selecting the Gmail icon when adding an application. There is a similar “Pick a Colour” selection then you can choose which services it loads into this “tab”. I didn’t test all the functions but the ones that did worked as expected. The Hangouts button doesn’t give me the hangouts configuration I prefer but it is functional, none the less.

Wavebox Snap 13

Setting up the account is much like logging in through a browser or even Kmail, for that matter. When you sign in, you then configure the default inbox configuration.

The display of the email is as you would see in a web page but the added benefit is that you have all the other services on a menu bar at the top of the Window. This is, by far, the best implementation of interfacing with the Google Services I have ever seen. It is far more functional than the Google defaults and even nicer than what I have been using on similar services.

Memory Use

It’s very easy to see how much of your drive is taken up by the application

/dev/loop11 156M 156M 0 100% /snap/wavebox/180

I don’t view this as outrageous at all. The application has another 181 MiB of storage on my home directory in the snap folder. I haven’t fully investigated the the contents of the folder but it does keep historical snap version configuration files, which is interesting.

Running the 10 Google Services, Riot and Slack, I am using about 490 MiB of RAM, so, 12 services in all on this so about 40.8 MiB per service. Combine that with the sleep function, this doesn’t feel too bad.

What I like

The way that Wavebox bundles the Google Services into one tab and how integrated and purposeful it feels makes this application really quite special. There is a lot of thought and detail put into it. I would say that this is a far better “Google Experience” than what you would have on a Chromebook. It is, seemingly a much more efficient and integrated experience, really, the best I have ever seen.

The Sleep Tab feature is very interesting and I have not studied it enough to know exactly how it works because I have received email notifications while the tab was sleeping so it must check periodically. somehow. I would really like to run this on a long term basis and determine, or at least, better determine what it is doing. Maybe even do some CPU usage comparisons between Wavebox and similar services but I just don’t have the time for that.

The conveniences of having all the different communication and collaboration services in one window, everything unified, is very conducive to productivity. That feature alone makes this application stand out from others similar to it. I would determine that it is a better experience than what you have in a browser with a string of pinned tabs.

What I Don’t Like

Wavebox does requires a login to an external server someplace to manage your accounts. This is like the Franz application I have also reviewed. It was an area for which I didn’t particularly like. I do see the utility of it and since these are all services you are logging into, one more isn’t that big of a deal… really… but somehow that is still a sticking point for me.

Wavebox isn’t free. Not that I think everything should be free but I would rather spit out a one time payment for this application. It costs $48 per year to use this application. For my purposes, since my efficiency with any of these services is not a part of my job, (arguably maybe Google could be), it isn’t a good value for me to make the investment. However, if your work required you to communicate on numerous  services regularly, I could absolutely see this as being a vital piece for improved quality of [computing] life.

Final Thoughts

Wavebox LogoRambox and Franz are both similar applications I have reviewed, albeit with a slightly different lens, they are all really quite fantastic applications. Any one is a good choice and I am glad that they all exist. There are features from each application that I appreciate so each application has their merit. I would say that of all of them Wavebox does seem to have just a bit more polish than the rest. There are more tools and tweaks with this and the way all the Google Services are rolled up with a very convenient menu makes this the best experience for using G-Suite. Far better than even with Chrome or using a Chromebook. This is so nicely integrated that it makes a mediocre web application experience feel like a real, nicely polished, and purposeful, native application.

Wavebox is, undoubtedly, suited for the professional user, not so much a dude like me that can’t seem to stick with an application like this for more than 6 months or so. This is extremely well thought out and well executed. Features like the Sleep Tab make this stand above other options.

Another final thought, having access to Snaps (along with other universal packages) available on openSUSE Tumbleweed really opens up a very wide array of available applications for my use. Snaps seem to integrate well into openSUSE; just as long as nothing gets messed up with AppArmor again. Snaps are a great choice for application delivery for many cases and I am thankful that I have access to them.

References

Wavebox from the Snap Store Web Frontend

Snapd Resolved bug on Bugzilla

Rambox | Chat Message Unification Application for openSUSE

Franz | Chat Messaging Unification Application on openSUSE

SimpleScreenRecorder on openSUSE

A fine tool for which I recently had some use is this very capable application called SimpleScreenRecorder. I used it to create a couple simple videos mostly to see how well it works but mostly for the purpose of creating something useful as a reference.

To install it on openSUSE use the one-click method here:

https://software.opensuse.org/package/simplescreenrecorder

Or, my preferred method, in the terminal, enter:

sudo zypper in simplescreenrecorder

Fantastically, it is built using the Qt toolkit so it looks much better in the KDE Plasma Desktop Environment.

I have used it for a couple videos and have plans for more, mostly as notes to myself but in video form.

Basic Usage

After installing the software, it will sit in the multimedia subsection on the menu. It can be called up in a search as well, at least on Plasma.

SimpleScreenRecorder 1

Select Continue

Next you are presented with your Input Settings. You can create different profiles for different purposes. You can also select if you want to record all the screens, a single screen, a fixed rectaning, follow the cursor or to record OpenGL. I have only used the options to record the entire single screen or a fixed rectangle.

SimpleScreenRecorder 2

You can choose to record the cursor or not and whether or not you want Audio. I have only used PulseAudio and it has seemingly worked just fine.

When you Continue, you will have to select the Output Profile or create your own, set the file name, the video and audio codecs settings. The settings pictured below has worked quite well for me in terms of quality but are a bit excessive in the memory usage.

 

SimpleScreenRecorder 3

After all that is set, you can start recording at anytime. It is also not a bad idea to Start the preview if you want to make sure it looks right before beginning the recording. The information frame on the left side of the window is quite nice. It tells you all kinds of useful information about the process. What is especially good to know is the file size. Depending on your available system resources, this could become somewhat of a concern.

SimpleScreenRecorder 4

Once you have completed the recording, hit Stop Recording along the top of the window and Save Recording if you believe you are satisfied with the results.

And that is it!

How I’ve Used It

I wanted to demonstrate how to set up switching from left-to-right typing to right-to-left typing on LibreOffice

I also did a quick little video just to play with SimpleScreenRecorder and showing how to turn on and off tooltips within KDE Plasma 5.16. I did edit both of these videos with Kdenlive for practice because someday, someday, I might get good at it.

Final Thoughts

SimpleScreenRecorder is a fantastic example of easy to use software to create simple videos for any number of things. This is great for demonstrating how you accomplish something on the desktop, sometimes video is the best way to present it. This is a fine example of easy to use open source and free software that has an incredible value.

Since I am able to install this application from the official repository with my favorite Linux distribution openSUSE Tumbleweed, it is just another straw on my pile of reasons I use it. Additionally, it requires no fancy configuration to get going, there is nothing peculiar about running it and it has been seemingly quite reliable. I have even thought of other fantastic uses besides providing quick little help videos and really, the limits of this application are at the limits of your imagination with this tool.

openSUSE Linux and all it’s fantastic tools add just a bit of happiness to my life, and I am so incredibly grateful to everyone that has had even the smallest part in making this possible.

References

SimpleScreenRecorder from software.opensuse.org
SimpleScreenRecorder Home Page

More openSUSE Tumbleweed Awesomeness

cubiclenate-opensuse board campaign-2019

If you haven’t tried openSUSE Tumbleweed in a while, I highly recommend you take it for a spin. I am not using Tumbleweed on the majority of my computers. I have openSUSE Leap on a few but since my experience with Tumbleweed has been so positive it has taken over most of my machines. I will recognize that there can be problems with a rolling model, especially if you have some mission critical requirements with specific pieces of software that are less friendly to the rolling model.

These are features I have known about for a while but I have decided that it should be highlighted again because it is Pure Linux Awesomeness.

Some Cool Things

For the uninitiated on how openSUSE Tumbleweed snapshots work, check out this video. It is less than 2 minutes of information goodness.

 

Before you do a distribution update and are very concerned about the status of the current snapshot you can review it here:

https://review.tumbleweed.boombatower.com/

At the time of writing, the current snapshot, 20190621, has a bending review percentage of 91. You can review the current or older snapshots to see the score status. You know, just for fun.

Another Really Cool Thing

I have been using Tumbleweed for over two years and this is a feature that I haven’t used but wish I would have sooner. I learned on this page that there is a nifty command line tool for examining the Snapshot status and pinning your Tumbleweed system to a specific snapshot. In effect you can dictate when you allow your Tumbleweed to roll to the next snapshot.

To start out, install Tumbleweed CLI

sudo zypper in tumbleweed-cli

Once installed you have to initialize it.

sudo tumbleweed init

To see what your system’s snapshot status

tumbleweed status

This will output

latest   : 20190621
target   : 20190621
installed: 20190621

Or similar based on the date you do this.

Although it seems self evident, I want to explain what this truly means.

Latest – What is the latest snapshot available

Target – If you have switched to a particular target, it would be listed there.

Installed – What you have currently installed.

Lets say you updated and are having problems with a regression in, oh, lets say VirtualBox and you really need VirtualBox to work. Since you are directly managing your snapshot status, you can very easily target the last snapshot which had it working but lets say you don’t remember what that snapshot was because you just… well… don’t remember.

tumbleweed list

This will give you a list of what is available. Keep in mind that due to storage limitations, only 20 or so are listed and presumably available.

20190621
20190617
20190614
20190612
20190607
20190606
20190605
20190604
20190603
20190601
20190529
20190527
20190525
20190524
20190521
20190520
20190517
20190516
20190514
20190512

Lets say you remember that you knew that the 20190603 snapshot was the last one that worked exactly to your needs. After your roll your system snapshot back to that date or approximately that date, you can lock your system on that particular snapshot

sudo tumbleweed switch 20190603

Now if you look at your status,

tumbleweed status

You will get something like this:

latest   : 20190621
target   : 20190603
installed: 20190601

Now you can upgrade to that snapshot

sudo zypper dup

File a bug on whatever is giving you problems

https://bugzilla.opensuse.org/

When you are ready to update to the latest snapshot

sudo tumbleweed switch

That will switch to the latest snapshot. To verify:

tumbleweed status

and get this output (or similar)

latest   : 20190621
target   : 20190621
installed: 20190603

Update to the latest snapshot

sudo zypper dup

Check the status once again

tumbleweed status

Should get you this:

latest   : 20190621
target   : 20190621
installed: 20190621

Should you decide that this method doesn’t work for you, you can revert back to the standard Tumbleweed rolling model.

sudo tumbleweed uninit

Like it never even happened.

Final Thoughts

openSUSE Tumbleweed with full (mostly) control of your snapshots is pretty amazing and adds a whole new depth of control to your computer. This truly is like the best of both worlds between Leap and standard Tumbleweed. It does require a little more work than Leap, and perhaps a bit more work than the standard model but this truly is a fantastic feature that makes openSUSE Tumbleweed the best operating system out there.

Of course… that is my opinion. Your opinions may vary.

References

https://review.tumbleweed.boombatower.com/about.html

https://review.tumbleweed.boombatower.com/

http://release-tools.opensuse.org/2017/11/22/Tumbleweed-Snapshots.html

https://bugzilla.opensuse.org/