The great thing about hosting is that similar to setting up your own site, you can make it as simple as you would like or you can get really complex, the reality is whichever method you choose is up to you. This is not a project for the faint of heart – indeed, you should be techy and much into the intricacy of hosting your own site. Someone who is interested in setting up their own server is a person with time to dedicate to this task and looks forward to the fulfillment of completing something that can be arduous even for the most tech-savvy.
Before getting into how to do your own hosting, you need to be aware of a few issues. Hosting your site requires a lot of electricity and you could deal with power outages, plus you are responsible for the efficacy and maintenance of hardware and software. Self-hosting has slower speeds than paid, dedicated hosts as well. However, the challenge of setting up your own hosting is invigorating, and a great next step on your tech journey.
Before you get started on hosting your own sites, it is a wise move to consider the benefits of paid hosting. The first thing you should know about paid hosting is generally things move faster on a paid host; these servers are dedicated to getting everything going and they don’t have the upload limitations that your ISP imposes upon you. That said, the other benefit a paid host has over self-hosting is that a paid host is responsible for the software and hardware. If anything goes wrong, you have to fix it instead of relying on the paid server company to perform maintenance. While sometimes it is easier to get any web hosting by simply paying with PayPal, the reality is hosting your own site is something for techy people that is really fun and as you improve in this endeavor, you develop skills that are quite marketable.
You can do web hosting with Windows and with Linux. Here is how with both systems.
Windows is not a popular way to host. The people who like Windows for hosting are those using ASP.NET or C# to code. If using these systems, Windows is the best option, despite being less popular than Linux.
Step 1: Get WAMP
One of the best installation programs is WampServer. This helps you work in Windows, Apache, PHP, and MySQL. Get the massive package when you download this, as the individual packages can be onerous and less accurate than the ones coming with WampServer. Once you get your WAMP, you can create subdirectories within it. Clicking on the Local Host link will take you to a URL that says, http://localhost in your main screen of WampServer.
Step 2: Simple Page Creation and Configuration of MySQL
As with anything, you want to test what you are doing. The next step is creating a new file with sample code. This could be something simple as a test using PHP. You can check in on this by going to the info section. However, if you click on phpMyAdmin, you can get going on configuring the MySQL information. This means the screen will open for admin credentials, but if you type in Admin to the log in name, rarely do you need a password. Once you get there, you can set and reconfigure your MySQL databases, and some CMS’s like WordPress do it for you.
Step 3: Make Your Site Public Apache by default doesn’t want to make your site public, so you need to go in Apache and turn on the public settings. This will allow not just you to view your site, but the public as well.
Step 4: Domain Names Setting up your DNS is not the easiest. What you do here is associate your IP address with a particular domain name. This will allow any DNS to pick out your domain name and download your site to get the information they need.
This is the most popular system used for web hosting. Learning about Linux will give you plenty of advantages while using a platform most folks are comfortable with.
Step 1: Use LAMP Software on the Terminal
The first thing you do with your terminal is to write a line of code to start your LAMP software installation. These tutorials will help you get started:
The way to test your PHP is to place a test file in the webserver root directory. Once there, you can visit the page by going to http://localhost/info.php. At this point, you’ll get a lot of information including the current version of PHP, configuration, and the installed modules. The good news is you can use Ubuntu to get the newest PHP modules. You can also use a simple command-line technique to get the same information as well.
Step 3: Get MySQL Under Control
Testing the MySQL for your site is imperative. This is especially important when you are using a CMS like Drupal, Joomla, or WordPress. Once there, you have to look at the server issue. Unfortunately, like the other servers, these one needs you to guide them. Most of the time, the system itself takes care of these MySQL databases. That said, you may have to enter some manually.
Step 4: DNS Configuration
Use the A record to get the IP address for your server using the dig tool. Once you do this, the next step is to associate your domain name with an IP address. The DNS step is vitally important because getting your domain associated with the IP means people won’t have to type in random numbers to see your site. Use Apache to set up the domain name, the index file, and any other files and set up permissions as well, and that gets your hosting done for you. You can use Namecheap to buy a domain name, read this review to help you decide.
This is just a short intro to self-hosting. You should do more research on security, setting up and maintaining servers, and a lot more. Though it’s a fun thing to do, it still requires a lot of skills and knowledge.
Try out furniture layouts, color schemes, and more in virtual reality before you go shopping in the real world.
There are three schools of thought on how to go about decorating a room:
Buy a bunch of furniture and cram it into the room.
Take careful measurements of each item of furniture, calculate the theoretical capacity of the room, then cram it all in, ignoring the fact that you've placed a bookshelf on top of your bed .
Use a computer for pre-visualization.
Historically, I practiced the little-known fourth principle: don't have furniture. However, since I became a remote worker, I've found that a home office needs conveniences like a desk and a chair, a bookshelf for reference books and tech manuals, and so on. Therefore, I have been formulating a plan to populate my living and working space with actual furniture, made of actual wood rather than milk crates (or glue and sawdust, for that matter), with an emphasis on plan. The last thing I want is to bring home a great find from a garage sale to discover that it doesn't fit through the door or that it's oversized compared to another item of furniture.
It was time to do what the professionals do. It was time to pre-viz.
Open source interior design
Sweet Home 3D is an open source (GPLv2) interior design application that helps you draw your home's floor plan and then define, resize, and arrange furniture. You can do all of this with precise measurements, down to fractions of a centimeter, without having to do any math and with the ease of basic drag-and-drop operations. And when you're done, you can view the results in 3D. If you can create a basic table (not the furniture kind) in a word processor, you can plan the interior design of your home in Sweet Home 3D.
Sweet Home 3D is a Java application, so it's universal. It runs on any operating system that can run Java, which includes Linux, Windows, MacOS, and BSD. Regardless of your OS, you can download the application from the website.
On Linux, untar the archive. Right-click on the SweetHome3D file and select Properties. In the Permission tab, grant the file executable permission.
On MacOS and Windows, expand the archive and launch the application. You must grant it permission to run on your system when prompted.
On Linux, you can also install Sweet Home 3D as a Snap package, provided you have snapd installed and enabled.
Measures of success
First thing first: Break out your measuring tape. To get the most out of Sweet Home 3D, you must know the actual dimensions of the living space you're planning for. You may or may not need to measure down to the millimeter or 16th of an inch; you know your own tolerance for variance. But you must get the basic dimensions, including measuring walls and windows and doors.
Use your best judgment for common sense. For instance, When measuring doors, include the door frame; while it's not technically part of the door itself, it is part of the wall space that you probably don't want to cover with furniture.
Creating a room
When you first launch Sweet Home 3D, it opens a blank canvas in its default viewing mode, a blueprint view in the top panel, and a 3D rendering in the bottom panel. On my Slackware desktop computer, this works famously, but my desktop is also my video editing and gaming computer, so it's got a great graphics card for 3D rendering. On my laptop, this view was a lot slower. For best performance (especially on a computer not dedicated to 3D rendering), go to the 3D View menu at the top of the window and select Virtual Visit. This view mode renders your work from a ground-level point of view based on the position of a virtual visitor. That means you get to control what is rendered and when.
It makes sense to switch to this view regardless of your computer's power because an aerial 3D rendering doesn't provide you with much more detail than what you have in your blueprint plan. Once you have changed the view mode, you can start designing.
The first step is to define the walls of your home. This is done with the Create Walls tool, found to the right of the Hand icon in the top toolbar. Drawing walls is simple: Click where you want a wall to begin, click to anchor it, and continue until your room is complete.
Once you close the walls, press Esc to exit the tool.
Defining a room
Sweet Home 3D is flexible on how you create walls. You can draw the outer boundary of your house first, and then subdivide the interior, or you can draw each room as conjoined "containers" that ultimately form the footprint of your house. This flexibility is possible because, in real life and in Sweet Home 3D, walls don't always define a room. To define a room, use the Create Rooms button to the right of the Create Walls button in the top toolbar.
If the room's floor space is defined by four walls, then all you need to do to define that enclosure as a room is double-click within the four walls. Sweet Home 3D defines the space as a room and provides you with its area in feet or meters, depending on your preference.
For irregular rooms, you must manually define each corner of the room with a click. Depending on the complexity of the room shape, you may have to experiment to find whether you need to work clockwise or counterclockwise from your origin point to avoid quirky Möbius-strip flooring. Generally, however, defining the floor space of a room is straightforward.
After you give the room a floor, you can change to the Arrow tool and double-click on the room to give it a name. You can also set the color and texture of the flooring, walls, ceiling, and baseboards.
None of this is rendered in your blueprint view by default. To enable room rendering in your blueprint panel, go to the File menu and select Preferences. In the Preferences panel, set Room rendering in plan to Floor color or texture.
Doors and windows
Once you've finished the basic floor plan, you can switch permanently to the Arrow tool.
You can find doors and windows in the left column of Sweet Home 3D, in the Doors and Windows category. You have many choices, so choose whatever is closest to what you have in your home.
To place a door or window into your plan, drag-and-drop it on the appropriate wall in your blueprint panel. To adjust its position and size, double-click the door or window.
With the base plan complete, the part of the job that feels like work is over! From this point onward, you can play with furniture arrangements and other décor.
You can find furniture in the left column, organized by the room for which each is intended. You can drag-and-drop any item into your blueprint plan and control orientation and size with the tools visible when you hover your mouse over the item's corners. Double-click on any item to adjust its color and finish.
Visiting and exporting
To see what your future home will look like, drag the "person" icon in your blueprint view into a room.
You can strike your own balance between realism and just getting a feel for space, but your imagination is your only limit. You can get additional assets to add to your home from the Sweet Home 3D download page. You can even create your own furniture and textures with the Library Editor applications, which are optional downloads from the project site.
Sweet Home 3D can export your blueprint plan to SVG format for use in Inkscape, and it can export your 3D model to OBJ format for use in Blender. To export your blueprint, go to the Plan menu and select Export to SVG format. To export a 3D model, go to the 3D View menu and select Export to OBJ format.
You can also take "snapshots" of your home so that you can refer to your ideas without opening Sweet Home 3D. To create a snapshot, go to the 3D View menu and select Create Photo. The snapshot is rendered from the perspective of the person icon in the blueprint view, so adjust as required, then click the Create button in the Create Photo window. If you're happy with the photo, click Save.
Home sweet home
There are many more features in Sweet Home 3D. You can add a sky and a lawn, position lights for your photos, set ceiling height, add another level to your house, and much more. Whether you're planning for a flat you're renting or a house you're buying—or a house that doesn't even exist (yet), Sweet Home 3D is an engaging and easy application that can entertain and help you make better purchasing choices when scurrying around for furniture, so you can finally stop eating breakfast at the kitchen counter and working while crouched on the floor.
In this post, I will share my opinion on these two operating systems: Windows and Ubuntu. I will point out all the pros and cons of both. I will share some nice tips and tricks that might be handy in your daily workflow which will help you compare them or make you switch to one or the other.
Quick Comparison of Windows and Ubuntu
Standard, and a lightweight option
Rarely used, worse option
Widely used, better option
Relatively less secure
Relatively more secure
Collects data by default
Doesn't collect data
No official versions
Available by default
App store (rarely used) and executable files (!)
App store, executable files (rarely used), and package managers
Intrusive system updates, separate update process for each app and the system
Unintrusive, centralized updates for all apps and the system
Old hardware is incompatible
Old hardware is compatible
Limited amount of features available by default
Many features available by default, all customizable
All games are available for Windows natively
Only some games are available for Ubuntu natively, though there are compatibility options available
Paid support available, community support is worse
Paid support available, community support is far better
More popular for desktops
Less popular for desktops
Many unnecessarily apps installed by default
No bloatware installed by default
A few similar editions
Many editions with different features
Windows is by far the most popular operating system for personal computers. Almost all desktop PCs and laptops are sold with Windows preinstalled. The reason for this popularity comes from the 90s when really there were no other user-friendly alternatives. So people got used to it. Manufacturers then continued selling PCs that run Windows to not introduce any learning curve to the customers.
Exceptions are Apple’s products that use Mac OS (or iOS). There are just a few manufacturers that offer desktop PCs and laptops with Ubuntu or other Linux-based operating system preinstalled. Some of the most popular devices are Dell’s XPS series of laptops since they do have all of the latest hardware features, great design and, of course, Ubuntu preinstalled.
Speaking of Ubuntu, it’s an operating system just like Windows and Mac OS are. It is developed by Canonical, a company that many geeks and nerds love to hate. However, it does a great job by offering a free and open source Linux-based operating system. Yes, it is free as both a free beer and freedom of speech. It cost $0 to obtain a copy, but donations are welcomed. Everything that Canonical does is free for studying, modifications and distribution of the modified version. Because of this, many variants (flavors) of the Ubuntu operating systems are available as of today. Some of them are xUbuntu, Kubuntu, Linux Mint, Elementary OS, etc… All of them introduce some changes over the default Ubuntu to provide a slightly different feature set, but also relying on Ubuntu quite a lot. The very same thing is what Canonical is doing too. The Ubuntu operating system is heavily based on the Debian operating system.
These are the minimum hardware requirements for Windows (10) and Ubuntu.
CPU: 1 GHz
RAM: 1 GB (or more for the 32-bit version), 2 GB (or more for the 64-bit version)
GPU: 800 x 600 pixels output resolution with a color depth of 32 bits
Disk Space: 32 GB
CPU: 2 GHz dual-core processor
RAM: 2 GB
GPU: 1024 x 768 screen resolution
Disk Space: 25 GB
Lubuntu and Xubuntu
These are essentially a lite version of Ubuntu with a lightweight desktop environment.
CPU: 300 MHz
RAM: 256 MB
GPU: 640 x 480 screen resolution
Disk Space: 1.5 GB
As you can see the required hardware to run Ubuntu or Windows is quite similar. The myth that Ubuntu uses fewer resources is false. However, there are lightweight alternatives (Lubuntu and Xubuntu) that use fewer resources, but also they do lack some of the features that I will mention later. If you need a lightweight alternative, there are other distros that run on 128MB RAM or less.
Windows and Ubuntu Servers Compared
Both Ubuntu and Windows have a specialized edition for servers.
Windows Server is mainly used when you need to run Windows-specific software, like .NET apps. Ubuntu is basically used for everything else.
By default, Windows Server does have a GUI, but Ubuntu Server doesn’t. You can easily install a graphical control panel on your Ubuntu Server, but out of the box, Windows is more beginner-friendly.
Ubuntu servers are better than Windows servers in terms of cost, security, stability, compatibility, online documentation and help, uptime, etc. The only reason why you should use a Windows server is if, and only if your apps and software require it.
Most websites you visit are powered by a Linux server. Most online multiplayer games you play host their servers on a Linux server. This website is hosted on an Ubuntu server.
While you can still install a LAMP stack on a Windows server and run an app like WordPress, it’s recommended to use Ubuntu servers because of their many advantages as compared to Windows servers.
Security in Windows and Ubuntu
The fact is that the more popular the operating system is the more people are interested in writing malicious software for it. Simply put, the effort into making malicious software is worth more since it will penetrate a greater number of PCs eventually since it has a larger potential user base (targets).
Since Windows is widely spread on personal computers at homes and offices, there is higher interest in stealing data or damaging those PCs. Most of the vulnerabilities come from:
Vendors don’t manage to secure their proprietary software utilities (Asus is the latest company that failed at this)
Vendors preinstalled malicious software on purpose (I’m talking to you Lenovo)
Users don’t encrypt their data (It’s like leaving the front door unlocked… Seriously, take care for your data if you want it to be safe)
Users are installing pirated software (cracked, please don’t do this)
There is growth in attempts against Linux-based operating systems too. But the layered security in Linux-based operating systems is quite good. The majority of security flaws come due to bugs of user space software, not the Linux kernel itself. The nice thing is that you can only attack user space data from the user space software. Those are images, videos, documents, but not the operating system itself. It is quite hard to bypass the authentication and gain root privileges to be able to attack the OS itself.
The Nvidia proprietary GPU driver had some security issues recently. The good thing is that even though the vulnerability was present, no PCs were affected since the attacker can not utilize the bug to execute any malicious code remotely. Giving the attacker physical access to the PC is a security flaw of a different type, not the OS itself. The bad thing is that on shared PCs this can be an issue. The worst thing is that this is proprietary code so no one else can fix it other than Nvidia themselves.
A ransomware that is worth having its own wiki page damaged tens of PCs. I’m laughing since there are only tens of PCs affected but it is quite a story though since these kinds of attacks are really rare.
Long story short, there are a lot of security issues in Linux-based operating systems like Ubuntu too. But the truth is that it is very rare that those vulnerabilities can do any damage in the real world. Since the majority of the source code that is being executed is freely available there are a lot of advanced users who will try to patch the vulnerabilities just a few minutes after its announce (one of the reasons you should use open source software is because of this). There is hardly any time for the attacker to plan and do any damage in the real world.
Since Ubuntu is not so popular for personal use, attackers don’t even bother spending time here. They try to attack the servers running Linux-based operating systems instead. Mostly, those servers offer features to users of other operating systems. For example, if a Linux-based computer that is acting as an email server is attacked, it can be used to send malicious emails to Windows users (and damage their PCs or data) while users of Linux-based operating systems like Ubuntu will remain safe. As I mentioned earlier, an attacker needs to gain root privilege to do damage on Linux-based operating systems.
So personal users are quite safe, while servers are almost as secure, they still need a bit more attention.
No risk of attaching malicious USB flash storage drives for home users
No risk of preinstalled software by vendors.
No risk of installing pirated software since most of the software is already free.
If a user succumbs to a phishing or social engineering attack, the operating system they’re using makes little to no difference. Same with connecting to an unsecured network or having an improperly configured system (firewalls, weak passwords, login and user control, etc.)
Privacy in Windows (or the lack thereof) vs Ubuntu
Windows doesn’t take privacy seriously. Even though there are plenty of options available to be turned on and off on the user’s behalf, the truth is that the majority of privacy-intrusive behavior cannot be disabled. For example, every keystroke on the keyboard is recorded to improve the spelling and other grammar-related things (which is nice) but not exclusive to. So the keystrokes are sent to third party servers for analysis but no one can be sure what else is being done there, on the remote server, or what is the actual content sent along with the keystrokes.
Ubuntu on the other side is by far more respectful to their users’ privacy. The very same features like tracking user input actions are present but the behavior is quite different. That data is only used as debug logs when the program or the operating system crashes and only if the user accepts to share the crash logs. That data can be very useful for developers to find the bug and fix it.
Because the source code of the operating system is freely available it can be freely reviewed on the user’s behalf. Some users that are too picky about the privacy can even modify the source code and redistribute the modified version if desired. There are specialized Linux distros that focus on privacy, like Tails.
As you can see, the free will of the user is far greater when the source code is freely available for modification and redistribution than if it is closed and inaccessible for general public review.
Games in Ubuntu (or the lack thereof) vs Windows
One of the areas where Windows is definitely better than Ubuntu is gaming. Although there are quite a lot of games available for Ubuntu, virtually all games are available for Windows, where only a small part are available for Ubuntu.
The biggest influence here is made by Steam, their proton framework which is bundled with Steam client allows many windows exclusive titles to be run on Linux based operating systems too. Simply enable proton library in Steam settings.
Recently I was playing some older titles like Crysis 2, GTA San Andreas and Dirt 3 (all of them are made for Windows only) on Steam with proton enabled and I have not found any issue. Everything is as smooth as on Windows. The best thing is that only one click of a mouse is required to enable proton.
The old school way of playing games for Windows on Ubuntu is with Wine, CrossOverand/or KVM (for more advanced users) which are to some point stripped down virtual machine emulators, or use VirtualBox as a fully virtual machine where you can install Windows and run all games. However, there might appear some issues with any of them so depending on the specific game and the hardware you might prefer one over the other.
There are a few open source project that brings life to gaming on Linux lately. The first one is DXVK, the second one is Looking Glass and the third one is Lutris. Long story short, no lag and frame drops. Amazing! For more details about them and technical information I highly recommend the Level 1 Linux channel on YouTube. There is some excellent content on this topic for those who are interested.
Although there are a number of options and a lot of games are working on Linux based operating systems nothing beats the native support. No matter how good the workaround is the native support is always superior. You can never be 100% sure that the next game will work with a current workaround, or to believe that what works today will continue to work tomorrow, anything can be broken anytime, that’s the nature of workarounds.
Also, there are specialized Linux distros for gaming that are optimized for games and have various emulators and games pre-installed. Linux distros are better than Windows when it comes to retro gaming with emulators.
At the end of the day, you can still play games on Ubuntu, but it’s highly unlikely that a new popular game will support Ubuntu, at least for the time being, whereas Windows support is almost guaranteed for each game.
Ubuntu’s Live CD/USB
Besides the ability to install the operating system, there is the Live option for Ubuntu. It allows the use of the operating system without installing it on the hard drive. In the Live option, the user has access to a wide variety of software for everyday use like a web browser, media player, text editor, calculator, file browser (file manager), etc. In the Live option, those apps are loaded directly from the installation media (CD or USB flash drive).
This option is very handy for recovering data from a damaged PC, troubleshooting a broken PC or simply to use on a CD/USB to boot on a shared PC if you have privacy concerns. So even if the PC is affected by the bugs of the Nvidia GPU driver mentioned earlier, you can simply boot from Live CD/USB on the shared PC and remain safe by using your own operating system.
It’s like taking ready to use operating system in your pocket. The only downside is the speed, It is noticeably slower than launching apps from a properly installed operating system.
There are no official live versions of Windows.
Installing additional software on Windows vs Ubuntu
Both Windows and Linux come with some necessary software preinstalled like a media player, a web browser, etc. Installing additional software is a quite different procedure on both.
Installing additional software on Windows can be done in two ways. If You use Windows 10, simply open the Store application, search the catalog and click install.
For older versions of Windows, installing additional software requires a web browser, a search engine, and an internet connection, or a different way of getting the software (CD, USB flash drive, etc.)
Open a web browser
Search for the software you want to install
Download the .exe file
Double click the .exe file to begin with the installation
As you can see it is quite a complex process. However, people are used to it so not much complaints are given. Beginners often make mistakes when downloading files and software from the internet, often downloading illegitimate files and software with malware.
On the other hand, installing additional software on Ubuntu is very similar to what we actually do on our smartphones (Android or iOS).
Open Store app (Play Store or App Store)
Search the app you want
Done. Similar to Windows 10 (and 8), but not to previous versions.
The concept to put all available applications in the same centralized place is present since the beginning of Ubuntu (2004). The same principle is later copied on Android and now on Windows starting from Windows 8. The concept of a centralized store of all the software originates from the early days of Linux-based operating systems in the 90s.
You can still download executable files from the internet and install them on your Ubuntu, similarly to Windows.
If you’re using an Ubuntu server, you’ll need to use the CLI (command line interface) to install software. If you’re using a GUI (a control panel), in most cases, you can do it without running any code.
There are many different applications that allow searching through the list of available software packages on Linux distros. Some of them are designed to be run from the CLI while others have a nice GUI. Here are some examples:
GNOME Software Center
So basically you have multiple options to choose from when it comes to app stores.
Upgrading (updating) software on Windows vs Ubuntu
On Windows, there are multiple streams for acquiring updates. There is one stream controlled by the operating system and updates the operating system only. Beside it, every other application activates a background service to acquire updates. That’s why Windows users often see popup messages about updates just after launching an application. While it is a concept that can get the job done, it can be very annoying. Users are executing applications to get a job done, not to maintain them, so any popup message can be counted as a distraction.
If you’d wanted to update all the installed apps on Windows, you’ll need to go through each app and update them separately (if not installed via the Store)
On Ubuntu, there is only one stream for acquiring updates. It fetches the updated versions of the operating system itself and every other installed application as a scheduled task. Because of this, applications do not have to enable additional background services. The end result is no annoying pop-up messages when launching an application and no wasted resources while you are doing your job. The scheduled task for fetching all updates will run when your PC is idle so you will barely notice it. There are no forced updates like Windows has. No automatic restarts after updates like Windows has. In other words, everything is smooth, silent and done in the background with as little interaction as possible from the user.
What about downgrading to previous versions?
This is a very interesting use case. People rarely do it, but from time to time, an updated version can cause some problems like incompatibility with third party software or tools or a minor bug might be introduced. Most of the time issues like these are fixed in next updates in almost no time, but still, it can be annoying,
On Windows, downgrading to an older version is almost impossible. There is no built-in mechanism for doing this but there is a workaround. It goes like this:
Uninstall the program.
Install an older version of the same program.
In order to achieve this, you must have the .exe installer of the desired program and the desired (older) version. If you don’t have it, you have to obtain it manually. So in this case, we need to open a web browser, use a search engine, download the software, etc. The downside is that the configuration might be broken if current configuration files are not completely deleted. Even if the configuration files are deleted altogether there might other bugs too. Users would have to do the very same configuration again. This can be tricky for some complex workflows.
Ubuntu on the other side does have a built-in method for downgrading software. All .deb files (installation files) are stored on the file system by default. Those files can be removed only if the file system is low on free space or if there are already too many older versions of the given application. The point is that there is always the installation file of the previous version of every application so users don’t have to waste time searching for it.
The sad thing is that this method works only from the command line (or at least I’m not aware of any GUI tool that can do this). Actually, it is just fine since this task is not aimed at regular users so no need for clickable buttons for something that will hardly ever be used. However, downgrading using the command line is a matter of copying and pasting one command and pressing the “Enter” key.
Be careful with the command line! Don’t do it if you don’t feel comfortable. It’s a very powerful tool so it must be used with care. It’s better to ask for help from IT support or at least talk about your issue on the Ubuntu forums or other online Ubuntu communities, there, you will be guided until the issue is resolved.
Attaching hardware on Windows vs Ubuntu
For Windows, back in the day, this process required a manual installation of a driver. But you had to be careful because drivers were distributed on CDs and there were many. One for Windows XP, one more for Vista, etc. And also in both 32bit and 64bit variants. Installing the wrong driver can lead to a broken PC. Not a pleasant experience. Windows 10 is quite nice, it can auto-detect hardware and install required drivers automatically but not early versions of Windows.
One big problem still remains unresolved. Older drivers are not compatible with newer versions of Windows. Attaching older hardware and setting it up and running it can be quite a challenge if not impossible, I have a bunch of old USB devices that are still useful but none of them work on Windows 10.
Ubuntu (and all of its derivatives like Kubuntu, Xubuntu, Elementary OS etc.) relay on the Linux kernel for the drivers. One of the principles about the Linux kernel is that compatibility should never be broken, otherwise that patch will never be released for public use. That’s why if some hardware device was working once on a Linux-based operating system, it will work forever in the feature.
Comparing features (workflow) on Windows and Kubuntu
An average user might be interested in utilizing a different flow of doing everyday tasks. Depending on the size and resolution of the screen, or the number of monitors attached the very same actions can be achieved more efficiently or at least made more visually appealing.
I’ll use Kubuntu as an example, but features are often the same or quite similar on more Ubuntu flavors.
So let’s compare some things here:
On Windows, this feature is available since the release of Windows 10 (2015). it does not have many features besides spreading the windows (grouping them) across virtual desktops. I often use one desktop for chat apps and multimedia, while all others are for job-related tasks grouped by a specific topic on each virtual desktop.
Kubuntu does share the very same features, but much earlier than Windows. I remember I have seen this feature back in 2008 (but I don’t bother about the first day of availability).
ALT + TAB for switching active windows
I bet this is the most used shortcut. Windows has a single UI for this and allows cycling in two ways, forward (ALT + TAB) and backward (ALT + SHIFT + TAB)
Kubuntu (my favorite flavor of Ubuntu) has the very same functionality but with more options. It can have multiple UIs so chose what is the most visually appealing to you.
In addition to the visual appealing UI, there is one very handy shortcut ( ALT + ~ ) or ( ALT + SHIFT + ~ ) for cycling in a reverse order. This allows filtering the scope of windows that will be cycled. Only instances of the currently active application will be cycled and all other windows will be excluded.
At the beginning, I was using (ALT + TAB) for switching all windows (3 x Firefox, 1 x Steam and 1 x Clementine), then I used (ALT + ~) to switch instances of Firefox only. There is an option to assign a different shortcut for cycling through windows of the current virtual desktop only or cycling through the windows of all virtual desktops too.
On Windows, the cycling is limited to currently active virtual desktop only and can’t be changed. In addition to (ALT + TAB) for cycling through windows, there is one more option available and it is called “Present Windows”. It displays all windows side by side. There is an option to display windows from the current virtual desktop only or to display windows from all virtual desktops.
Moving windows on the screen
Windows allows moving the windows by pointing the cursor to the window frame (title bar), press and hold the left mouse button, and moving the cursor around. The window will follow the cursor placement. Very simple and intuitive.
Kubuntu can also do this by executing the exact actions. In addition, the user can move the window while pointing anywhere on the window (not limited to the title bar only) if that area is not an input field. For example, you can move a window around while pressing and holding the left mouse button anywhere on the toolbar. If the window does have a very big input area, there is one shortcut that can bypass this. Holding the windows key (super key, or meta key) on the keyboard while pressed and holding the left mouse button you can move the window around no matter where are you pointing to. I often use this, it is by far the most efficient way for me.
Copy and paste
On Windows, this is achieved by the (CTRL + C) shortcut for copying and (CTRL + V) shortcut for pasting. In addition, there is always that contextual menu on clicking the right mouse button and choosing “Copy” then “Paste”. Easy.
The very same actions can be executed in Kubuntu too. In addition, there are some very nice features built around the idea of copying and pasting. For example, there is a history of recently copied items. The history can be viewed by clicking the notes icon on the system tray menu on the bottom right corner of the screen.
The very same history can be opened in a contextual menu next to the cursor by CTRL + ALT + V shortcut. This is a built-in option, but the shortcut must be manually assigned.
The point of the history is that you can paste the very same item again (multiple times) that was copied in the past. When you get used to this feature it is very handy. If you measure how long it takes to copy an item, and multiply that by how many times you will paste that item you will realize how much time is literally wasted. For even more time saving, there is a search functionality in both the contextual menu and system tray app. It allows you to filter the list of results by the text you enter in the search field. Typing a few letters is way faster than scrolling until you reach something copied early in the morning.
Windows has a simpler built-in clipboard manager, where you can only view, pin to the top, and use recently copied items. You can access the clipboard manager by pressing the Windows key + V.
To get the same features you get with Kubuntu on Windows, like the search feature, you’d have to install additional software. You may need to activate the Clipboard feature from the Windows settings app before you can use it.
Windows puts the close button, minimize button and maximize button on the top right corner of the window. It’s simple, it works.
Kubuntu, on the other hand, is more flexible. You can change the position of the buttons to the left corner or right corner if desired.
You can also add more buttons or remove them if desired. Two of my favorite additional buttons are: keep above others (always on top) button and pin to all desktops (visible to all desktops) button. The always on top button will prevent the window to go behind other windows. I use it frequently to keep my terminal, calculator or notes app on top while using a web browser or programming.
The Pin to all desktops button will make the window visible to all workspaces. I use this feature to have a preview of an exact spreadsheet document on all virtual desktops, or to have access to the exact terminal emulator from any virtual desktop.
There is no built-in option for synchronizing an Android smartphone with a Windows PC, or maybe I am not aware of it. This is possible with third-party software like Pushbullet and others.
On Kubuntu, there is one very handy tool called KDE Connect and it is available by default. This is a wonderful syncing app, Its features are:
Browsing the smartphone file system (SD card / built-in storage) from your PC. So you can access all the documents stored on your smartphone from your PC.
Synchronizing clipboard (copy – paste) items. You can copy a paragraph of text on one of your devices and it will be available on the other devices ready for pasting.
Receive notifications. All notifications that appear on one device will be instantly shown on the other devices too. I often use this feature and generate a notification for my long lasting (compiling) jobs. This way when the job is done it will generate a notification so I’m notified on my smartphone while resting in my garden. Before KDE Connect I was checking the PC every 10 – 15 minutes to see if the job is done.
Phone calls and SMS. You can receive SMS notifications and respond to them from the PC. When a phone call is ongoing the volume of the PC is automatically turned down to not disturb the call and it’s turned up again when the phone call is over. I adore this.
Mouse and keyboard emulation. You can use your smartphone as a touchpad to control the cursor, you can also use your smartphone keyboard to input text to your PC.
Multimedia remote. There is a remote functionality that works with almost any media player on your PC. You can use the smartphone to play/pause, switch content, etc. The best thing is that KDE Connect is integrated as a widget in the system tray. It runs silently in the background and it’s enabled by default. Just install the KDE Connect Android app on your smartphone, pairing is a very simple process requiring just a few clicks.
All, or some of these features can only be available in Windows if you install a third-party app, while in Kubuntu it’s installed by default.
Windows has a very basic File Manager. It is simple and not feature rich.
Kubuntu, on the other hand, does have a feature rich File Manager. It supports tabs similar to what web browsers do.
Also, there is a split option, so the user can see multiple locations on the same screen, A Terminal emulator can be enabled for the current location. I’ve noticed a lot of advanced users that are not aware of this.
All toolbars can be rearranged to whatever edge desired. No restrictions at all.
Spending some time in customizing the File Manager for sure can improve the workflow by reducing the clutter of having multiple windows open instead. Every button on the toolbar can be removed, or new ones can be added, Almost every action that the file manager can do, can be put in the toolbar for quick access.
The Windows file manager is not that customizable and doesn’t have all the features that Kubuntu’s file manager has.
Windows 10 does have improved search functionality built in the start menu. It can search for Applications, files, and folders on your PC. The search can also be expanded to web sources. One downside is that all the search queries are done by the Bing search engine. Bing is fine, but you can not switch to another search engine like Google or DuckDuckGo if desired. The start menu can have the traditional layout or a full-screen layout:
Kubuntu does offer similar functionalities. The default start menu can search for applications, files or folders stored on your PC. The search function is also nicely integrated with Firefox and Chromium (Google Chrome without any proprietary code included) web browsers (maybe with some others too) so a user can search their bookmarks from the start menu. It can expand the search to your contacts (Kmail – email client), KAddressbook (phone contacts), etc. Some popular application are also nicely integrated into this menu like Chromium, Firefox, Clementine (Media player), etc. So a user can search and execute some actions that are built in those applications. For example, typing “incognito” in the search menu will open a new Chromium window in incognito mode. The same can be done with Firefox too by using the “private” term instead to open a private window. Besides the search capabilities built in the start menu, there is a dedicated tool only for searching (activated by pressing ALT+ F2).
In addition to the alt-tab shortcut for switching windows, there are the window spread options. Both of these are already mentioned. What is not told is that the window spread option has built-in search functionalities.
Open windows spread
Type any characters
Only windows that contain these characters will remain visible
I often use this feature when I have a lot of windows open (sometimes up to 40), or even if there are multiple Chromium windows open. Since one window is dedicated to personal stuff only (YouTube, forums, social networks, etc.) and all others are for job-related tasks I can simply type the content that I want and the exact Chromium window will appear in front of me. Way faster than using alt-tab too many times.
Misc features in Kubuntu worth mentioning
Most of these features are not available in Windows by default.
There is a mute button in the taskbar icons.
Right click the app icon and click the mute button to silence the exact app. I use this to mute sounds of the video games while they are minimized
Audio from windows.
Every window that produces some noise (audio) is marked in the taskbar so you can mute that window. Very handy if there are multiple sources of audio from different virtual desktops. It helps a lot in dealing with unnecessary audio sources.
The same can also be achieved from the system tray, Every application that makes noise is displayed and independently the volume can be decreased for any of them. In Windows, you’ll have to open up the Volume Mixer to get the same feature.
This a web browser primarily, but it can also be used as a file manager, a pdf reader, etc. It is a very powerful application.
It supports tabs. Each tab can display different content, for example, a document (.pdf), a web page or the file system.
The tabs can also be split into multiple views. Each view can display different content. As you can see I have a tab with YouTube in one view, file manager in a second view and a photo in a third view. The second tab is dedicated to the www.andromedacomputer.net web page.
Konqueror helps a lot to build a productive workflow. I was using it a lot while studying. many .pdf documents, many StackOverflow pages, etc. And all of that organized in tabs, splits and multiple windows. A hell of an efficient flow for quick navigation to the desired content
Many of the default apps offer scrolling the view by pressing the mouse scroll wheel and dragging the mouse. The scrolling, however, is not limited to the size of the screen. When an edge is reached the mouse is automatically displaced to the opposite edge so the scrolling can continue without interruption.
Rename multiple files
Switch active windows with the mouse wheel
Simply move the cursor over the taskbar and scroll the wheel
By default, this will switch active windows, but the shortcut can be reassigned to other actions if desired.
Scrolling the mouse wheel will switch active windows in the ALT-TAB menu too (not in every UI, but most of them support mouse actions too).
Built-in search for .pdf documents in Okular (.pdf reader)
You can select a text in the .pdf document and ask Okular to open the web browser and search the term by using one of the many search engines. I often use Wikipedia, Google, DuckDuckGo, or YouTube for additional information on some technical terms.
I have already told you about the availability of multiple choices for the appearance of the Alt-Tab window switcher utility. The very same is applicable almost anywhere on the system. For example, the default is to use the taskbar at the bottom of the screen.
The position and the items in the taskbar can also be rearranged without restrictions. You can even remove some items, like the start menu button, application launch icons or the clock if so desired and place some other items there. Many people prefer the taskbar on the top of the screen or a dock at the bottom. The most popular is Latte Dock.
Besides the layout, the color theme can be changed too. There are many included by default, but many more can be installed manually. Here are screenshots of some nice and popular themes for the KDE Desktop (Kubuntu). Note that the popular color themes are available for other desktop environments too.
Many mouse cursor and icon themes are available. Some examples:
You can change the color theme in Windows too. There are a number of pre-installed to choose from, and you can manually install more. You can also change the cursor and icon themes.
Advanced users don’t want to waste time and repeat task so they often automate them. For example, I don’t want to manually increase the fan speed, and the clock speed of the CPU and GPU while gaming so I modified the Steam app launcher icon.
The modified behavior is:
open the Steam app
increase the clock speed of the CPU
increase the fan speed of the CPU
increase the clock speed of the GPU
increase the fan speed of the GPU
wait for Steam to close
when Steam is closed, revert all the changes to default
This is how I have nice a quiet PC while working, but I squeeze every bit of power for gaming by preventing the overheating and forcing the fastest clock speed available.
Do you want to read and learn more about bash scripts and automating task in the Linux shell? If yes then please reply in the comments so I can prepare a post dedicated on this topic.
Conclusion on Windows vs Ubuntu:
As you can see, Ubuntu and other Linux-based operating systems, as compared to Windows, are:
Easier for installing and updating apps
Easier for downgrading apps if something is broken after an update
A lot more customizable
Better for servers
Worse for gaming
Free and open source
Care about your privacy and data
Easier for maintenance
No annoying pop-up messages
Can run on old PCs that cannot run Windows smoothly, yet be secure with all of the latest updates
and a lot more.
Kubuntu is my favorite derivative of all the Ubuntu-based operating systems. I can not point out any features as favorite because I like all of them. Everything mentioned above is part of my daily workflow.
Now when you know all of this it is worth trying them out. I was skeptical at first but later when I built my flow and learned how to utilize these features I can do everything faster, with fewer keystrokes and the most important thing is that I have a nicely organized desktop that helps me to minimize brain fatigue while doing my job.
Kubuntu is a great distro to switch to if you’re coming from Windows. They have a quite similar UI, and Kubuntu has all the features Windows has, plus more.
is extremely important – now more than ever. If you start to do research, however, you’ll find a debate going on about which operating system is the safest. These days, more IT professionals and companies are preaching the benefits of Linux systems. There are definitely some security advantages to the platform. But like everything in the computer world, so much comes down to user training. Even if you have a very secure platform, a virus can still be a problem. So let’s take a look at Linux and some of the advanced security measures you need to take.
A Less Frequent Target
Linux is safer than macOS for the same reason macOS is safer than Windows. Simply put, Linux has lower market share. So hackers are generally less interested in attacking it. The vast majority of hacks aren’t targeted against one company in particular. Instead, hackers attack a large number of computers and servers hoping that viruses and malware will land in some of them. Since Windows controls 75 percent of the market, it makes sense for hackers to target that operating system.
Creating Malware is Much More Difficult
Linux has never been easier to use. Even complete newbies can learn to operate the newest OS in a few minutes. One of the key differences between Linux and Windows / macOS is that you don’t just download and open attachments. Instead, before executing attachments, you need to set it up and make sure each user has the right permissions before they can open a specific file. These extra steps prevent internal users from inadvertently running virus files.
Linux Has a Strong Community of Developers
Linux is open source. This means there’s a huge group of developersalways checking for issues and determining fixes. Whereas it may take months for big companies like Apple and Microsoft to identify a problem and then issue a security patch. Linux users can repair it themselves and have the code issued in minutes. This minimizes downtime and the potential threat of viruses.