Samba is a free and open source interoperability suite of programs which allows us to share files and printers between machines running Linux or Windows. A Samba share is pretty easy to configure and can easily be accessed on clients, since the vast majority of Linux file explorers has built-in support samba. In certain situations, however, we may want to mount a Samba share at boot, just like a normal filesystem on a specified mountpoint.
I3 is one of the most used tiling window managers on Linux. A tiling window manager arranges windows in a non-overlapping way: this allows us to use screen space efficiently, but can require a little bit of time to get used to.
SSL is a protocol used to encrypt and authenticate data on networks, typically between a server and a client. The SSL protocol, and its successor, TLS, use asymmetric encryption which is based on two keys: a private and a public one.
A loop device is a pseudo-device which doesn’t correspond to a real, physical block device, but can be used to make a file appear and be treated like one. To manage loop devices on Linux, we can use the losetup command: the utility let us create new loop devices, detach them and retrieve information about existing ones.
Qcow2 is the default virtual disk storage format used by Qemu (qcow stands for qemu copy-on-write). This image format makes use of thin provisioning, so, after we initially set the maximum virtual size of a disk, space is actually allocated only when used, but not made available back to the host when freed.
In a previous article, we saw how to create kvm virtual machines from the command line; in this tutorial, instead, we learn how to access and modify virtual machines disk images, using some utilities which are part of the libguestfs package on the most commonly used Linux distributions. Those tools let us perform a variety of tasks.
When using Linux on mobile devices such as Laptops, it is very important to tune the right kernel parameters in order to optimize battery life. Tlp is a highly customizable, free and open source command line utility released under the GPLv2 license (the source code is hosted on github) created with this exact goal.
There is a gap between Windows and Linux. That’s obviously an unpopular thing to say, but it’s undeniable, especially when concerning third party support. Games and professional applications like Photoshop and 3D modeling tools are either woefully under-supported or unsupported altogether. Things have improved over time, but there is still need for a bridge. That bridge comes in the form of WINE.
WINE is not an emulator or a virtual machine. Rather, it is a lightweight compatibility layer that “translates” Windows applications into a language that Linux can work with. For years, WINE has been an invaluable tool for Linux users who just needed that one unsupported application to work. It has also been the answer for gamers looking for their favorite games on Linux, long before Steam was an option.
WINE isn’t perfect. It’s actually far from it. DirectX 10 support is spotty at best and DirectX 11 support is nearly non-existent. It is, however, in constant development, and the developers are always working to improve it. The WINE of today is miles beyond what it was just a few short years ago.
This series of guides will walk you through the tools that WINE provides for getting your Windows programs working on Linux. It does no rely on wrappers and scripts like PlayOnLinux because they aren’t all that reliable. Learning the way WINE actually works may be more difficult and time consuming in the short term, but in the long term, you will not be reliant on external sources to get your applications running. These guides start off with the basics and installation of WINE and progress through configuration tools like
winetricks. You will be able to create application specific configurations and use different WINE prefixes as well as being able to install Windows
dlls and components to add functionality to your applications.