Tag: Linux Mint

How to connect a TV to a computer in Linux in Cinnamon (Linux Mint, LMDE)

Is it possible to connect a TV or a second monitor to a computer in Linux

This post will show you how to connect a TV or a second monitor to a Linux computer with the Cinnamon desktop environment. It will also talk about the available settings and solutions to typical problems that arise when connecting a TV to a computer.

Cinnamon is used in distributions such as Linux Mint and LMDE, and the Cinnamon desktop environment can be installed on any other distribution. In my case, I'm using Arch Linux with Cinnamon.

If you have a different desktop environment, then see the articles:

If you are a Windows user, then see the article “How to connect a TV to a computer in Windows 11”.

What you need to connect a TV or an additional monitor to a computer

To connect a TV or a second monitor to a computer or laptop, you need:

  • TV with HDMI connector (all modern models) or monitor with HDMI connector (all monitors released in the last two decades)
  • a computer with an HDMI connector – almost all computers and laptops will fit
  • HDMI cable

Choosing an HDMI cable

I approached the choice of HDMI cable quite simply – I chose the cheapest with the right length, which I found in the store. In subsequent use, this cable fully satisfied my needs.

Despite its cheapness, this HDMI cable supports:

  • UHD 4K@2160P / 4K@60Hz / 4K HDR
  • High Speed HDMI 2.0
  • Gold plated contacts

Cable length 1.8 meters.

Apparently, these are already the minimum characteristics – perhaps more expensive models support higher resolutions and data transfer at higher speeds.

What TV can be connected to a computer

Using an HDMI cable, you can connect any TV with an HDMI connector. This connector is present on all TVs and monitors released in the last decade.

Older TVs without an HDMI connector can also be connected to a computer, but instead of an HDMI cable, you will need a wire with an adapter.

As for the technical characteristics of the TV (diagonal size, screen resolution, screen refresh rate, aspect ratio), this is not critical. That is, you do not have to select a TV model with the same characteristics as your monitor. Modern video cards support a variety of modes (screen resolutions and refresh rates), including the video card will work with a TV if the screen resolution is different from the monitor.

For example, the characteristics of my devices:

  • laptop monitor: 17", 1920×1080, 16:9, 120 Hz
  • TV (all specifications): 32", 1366x768p, 16:10, 60Hz

That is, these are two very different devices, but at the same time I had no problems when they worked together.

How to connect HDMI cable to TV

Plug the HDMI cable into the connectors of the computer (laptop) and TV.

Both on the computer and on the TV, there may be several HDMI connectors – remember the number of the selected connector.

Turn on your computer and TV.

Note: The HDMI cable can be connected when the computer and TV are already on.

Use the remote control to select “HDMI” as the input source on the TV.

If, after selecting HDMI as the signal source on the TV, you see the message “No Input Signal”, then:

  1. Select HDMI with a different number.
  2. Move the wire, it may not be firmly connected to the computer or TV socket.
  3. Make sure your computer is on.
  4. The monitor on the computer should not be turned off due to inactivity.

How to use a TV connected to a computer

There are two main modes:

  • join displays
  • mirror (duplication) of images on both displays

When displays are combined, the total space expands. That is, if you connected another 1920×1080 display to a computer with one 1920×1080 display, then now the resolution of your virtual screen becomes 3840×1080, if there are three such displays, the resolution will become 5760×1080. You can drag program windows from one display to another. Some apps and games support these wide virtual screens.

When the image is repeated (Mirror), the same image will be shown on both displays.

Among the displays, Primary stands out. This is the one connected first. A feature of the main display is that it shows desktop shortcuts, although this can be changed in the settings.

In the next video, the TV is connected to the computer. To play a YouTube video on a TV, the web browser window is dragged from the monitor to the TV. It also selects HDMI as the audio output source to play the sound on a TV instead of playing it on a computer (laptop).

Where are the settings for the second display and TV

Open the Settings application (System Setting), go to the “Display” section.

Here you will see the display settings.

Select the display (or TV) you want to customize.

Each display will have its own set of settings.

How to make the TV show the same thing as the monitor

Go to System Setting → Display.

Select the “Mirror” option.

As a result, the resulting settings for both monitors at once will be shown.

How to make the TV become an extension of the monitor

Go to System Setting → Display.

Select the “Join Displays” option.

In this case, one of the monitors will be considered the main (Primary) one. In this case, each of the monitors will show its own desktop, which, in fact, is one.

Why can't I drag the program window to the second screen

If you see two displays in the settings, but you can’t drag the program window to the TV or the second display, then try dragging the window to the other side. That is, if you, for example, are trying to drag a program window to the left side, then try dragging it to the right side instead.

The fact is that the physical location of the second monitor (TV) and its location in the settings can be different. To fix this, swap the monitors in the settings:

In addition to the location of the monitors to the left and right of each other, other options are possible.

You can place one of the monitors (or TVs) above the other.

In this case, the screen resolution and desktop area will change accordingly.

If you have many monitors, you can place them however you want, not all monitors need to be in a straight line horizontally. You can arrange them, for example, as 3×2, that is, two rows of 3 monitors.

Why are monitors of different sizes in the settings

If monitors have different screen resolutions, then they will be shown in different sizes in the settings.

Is it necessary to set the same resolution for the monitor and TV

No, it doesn’t need.

Moreover, the TV or monitor may not support the resolution or screen refresh rate that the second monitor supports.

For example, if you have selected a screen resolution of 1920×1080 in the TV settings, but the TV itself only supports 1366×768, then the picture will be displayed with a resolution of 1366×768 anyway.

How to install the Primary monitor

By default, desktop shortcuts are shown on the Primary monitor. You can change, i.e. choose a new primary monitor. For this:

1. Open the System Setting app, go to the “Display” section.

2. Select the monitor you want to make your primary

3. Click the “Set as Primary” button next to the monitor name.

How to turn off the display or TV in the settings, without physically disconnecting

You can disconnect the HDMI cable from your TV or computer at any time, but this is not always convenient. In addition, you may want to turn off the computer monitor or the laptop's built-in monitor.

To turn off any monitor or TV in settings, open “Display” settings.

Select the monitor you want to turn off – this can be done by clicking on the schematic image of the monitor with a number or by selecting the name of the monitor from the drop-down list.

Then turn off the monitor using the slider marked 2 in the screenshot.

A disabled monitor will stop working (it will no longer receive a signal), but the disabled monitor will still be available in the settings. You can turn it back on at any time.

Why does the sound come through a computer (laptop), and not through a TV

Go to sound settings (Sound). This can be done via System Setting → Sound. Or by clicking the musical note icon next to the clock and selecting “Sound System”.

Go to the “Output” tab.

Select “HDMI / DisplayPort Built-in Audio” as the output device.

Why did the sound disappear after turning off the TV

Go to sound settings (Sound). This can be done via System Setting → Sound. Or by clicking the musical note icon next to the clock and selecting “Sound System”.

Go to the “Output” tab.

Select “Speakers Built-in Audio” as the output device.

How to make the TV (on the second monitor) also show desktop icons

Go to System Setting → Desktop.

In the “Desktop Layout” drop-down menu, select the option you need:

  • No desktop icons
  • Show desktop icons on primary monitor only
  • Show desktop icons on non-primary monitor(s) only
  • Show desktop icons on all monitors

Setting the action when closing the laptop lid when using a second monitor

Go to System Setting → Power Management.

Here you can change the behavior performed when the laptop lid is closed.

In order for the action selected when closing the laptop lid to be applied even if a second monitor is connected, activate the “Perform lid-closed action even with external monitors attached” setting.

When connecting and disconnecting the TV, the next time you close the lid of the laptop, the monitor goes into sleep mode

On my laptop, the lid close action is set to Do nothing. This setting works fine, that is, when I close the lid of the laptop, the computer continues to work.

But when connecting and disconnecting the TV, the following problem was noticed: when the lid is closed, the laptop goes into sleep mode (Suspend), although the settings are set to “Do nothing”.

This looks like a bug. To fix it, install the “gnome-tweaks” package.

Run:

gnome-tweaks

On the “General” tab, find and disable the “Suspend when laptop lid is closed” setting.

Disabling this setting resolved the issue.

LMDE 5 beta loaded on mirrors

Download links for LMDE 5 Beta:

If the links do not open, then go to http://ftp.crifo.org/mint-cd/testing/ and select the version you need.

The LMDE project is ongoing. LMDE stands for Linux Mint Debian Edition and is about creating a distribution that is almost identical to Linux Mint but based on Debian and not Ubuntu. This is an interesting exercise because it forces the developers of Linux Mint to test the compatibility of a software stack written specifically for Linux Mint with Debian and shows how much of it is specific to Ubuntu and how much is generic to Debian.

The Ubuntu distribution has many of its own developments and is quite different from Debian. And not all features of Ubuntu users perceive positively. Many users like classic Debian without the forced services.

Work on LMDE 5 began in early January. LMDE 4 was already on par with the Mint, Xapp and Cinnamon stacks introduced in 20.2. LMDE 5 has been updated to Linux Mint 20.3.

Although in general LMDE is very similar to Linux Mint, there are differences too. Debian features newer software compared to Ubuntu 20.04 and Ubuntu in general. This is why LMDE provides users with more recent packages and gives Linux Mint developers the opportunity to test their software on the next generation of Linux. This gives an idea of some of the issues developers will face in Linux Mint 21. It helps them prepare for the next release.

On the presented BETA, all backports and packages are ready. The LMDE 5 ISO downloads and installs fine. There are no obvious critical issues.

Do services need to be restarted when updating packages

Package configuration: whether to restart the service

During the installation of package updates and their configuration, the apt program may ask you to restart the service:

There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart. You can choose this option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade. Restart services during package upgrades without asking?

This message can be confusing, especially the phrase “cause interruptions of service for the system”. In fact, the essence is quite simple – the binaries have been updated and you need to restart the services that use them so that they start using the updated versions of the files.

The name of the package that requires the service to be restarted is in the upper left corner, in the screenshot it is libc6, i.e. “GNU C Library: Shared libraries”. It contains the standard libraries that are used by nearly all programs on the system. This package includes shared versions of the standard C library and the standard math library, as well as many others.

What kind of interruptions can a service restart cause?

Examples of the consequences of restarting services:

  • at the time of restarting the web server service, sites will be unavailable to users
  • when restarting the caching proxy server, the cache stored in RAM will be deleted
  • restarting network services can lead to connection drops (but in practice this does not always happen)

That is, the possible consequences of restarting services on the home computer are insignificant – you can safely restart.

As far as restarting services on a server, for example, restarting the SSH server usually doesn't break the connection. You need to evaluate the consequences of restarting other services based on your situation.

See also:

How to Install the Latest Linux Kernels on Ubuntu and Linux Mint

Recent versions of the Linux kernel have drivers for new devices and other innovations. Unfortunately, many popular Linux distributions are in no rush to update their kernel. This tutorial will show you how easy it is to install any version of the Linux kernel on Ubuntu and Linux Mint without compiling. You can choose to install either a newer kernel or an older one than your distribution's repository suggests.

If you wish, you can easily remove the installed Linux kernels and return to the kernel from the repository.

Since Linux Mint is based on Ubuntu, this instruction is fully applicable to Linux Mint distributions, except for LMDE. For LMDE (Linux Mint Debian Edition) see “How to Install the Latest Linux Kernels on Debian and Debian Based Distributions”.

Kernel update warning

It should be remembered that due to the incompatibility of the kernel with programs (first of all, with proprietary GPU drivers), you may encounter problems, including a black screen during boot.

In most cases, the problems encountered can be resolved without reinstalling the distribution. Start by going to the advanced options in the boot menu and boot with the previous version of the kernel. When the computer boots up, remove the problematic kernel.

Proprietary graphics card drivers can cause problems, as older versions may not be compatible with the latest kernels without a patch. If you have proprietary video drivers installed, then seriously consider before following the instructions below. Also get ready, look for instructions on how to solve the problem when loading the distribution into a black screen.

Owners of old distributions should be especially careful – it is strongly recommended to update the kernel only on the latest OS versions.

Another very likely problem that you may encounter if you install the latest kernel is the problem with unresolved dependencies and, as a result, the inability to use the apt package manager to update and install programs. If you are faced with a situation where, after successfully installing a new kernel, you cannot update packages using apt, then try installing older versions of the kernel that suit you, and uninstall the versions that cause dependency problems. Remember that it is impossible to remove the kernel you booted with – boot your computer with any other version of the kernel before uninstalling.

mainline – Ubuntu kernels repository

For Ubuntu, there is a repository of compiled mainline kernels of all versions, including the most recent, so installation is not too difficult – you do not need to compile the Linux kernel. Moreover, there are tools, including those with a graphical interface, to install any kernels.

In fact, if the kernels have already been compiled, then it is enough to download the following files from one folder from the server:

  • linux-headers-*-generic_*_amd64.deb
  • linux-headers-*_all.deb
  • linux-image-unsigned-*-generic_*_amd64.deb
  • linux-modules-*-generic_*_amd64.deb

And install them with the command:

sudo dpkg -i linux*.deb

But the process can be simplified even further by using utilities for working with kernels.

Mainline (a continuation of the free version of ukuu) – a program with a graphical and console interface for updating the kernel

If you prefer a graphical interface then use Mainline.

To install the program run the following commands:

sudo apt-add-repository -y ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline

To launch the graphical interface, run:

mainline-gtk

To run the console version, run:

mainline

Using the graphical version should be straightforward. At startup, you will receive information about the available kernels, you can select any kernel and install it by simply clicking on the “Install” button. Additionally, actions such as removing kernels and viewing the changelog for each kernel version are available.

Using the console version is as follows:

Syntax:

mainline COMMAND [OPTIONS]

Options and Commands Reference:

Commands:

  --check             Check for kernel updates
  --notify            Check for kernel updates and notify current user
  --list              List all available mainline kernels
  --list-installed    List installed kernels
  --install-latest    Install latest mainline kernel
  --install-point     Install latest point update for current series
  --install <name>    Install specified mainline kernel(1)
  --uninstall <name>  Uninstall specified kernel(2)
  --uninstall-old     Uninstall kernels older than the running kernel
  --download <name>   Download specified kernels(2)
  --clean-cache       Remove files from application cache

Options:

  --include-unstable  Include unstable and RC releases
  --hide-unstable     Hide unstable and RC releases
  --debug           Enable verbose debugging output
  --yes             Assume Yes for all prompts (non-interactive mode)
  --user            Override user

Notes:

(1) A version string taken from the output of --list

(2) One or more version strings (comma-separated) taken from the output of --list

Restart your computer to use the new kernel.

By default, your system will boot with the latest kernel, if you want to change this, then go to advanced boot options

and select the version you want from the installed kernels.

The ubuntu-mainline-kernel.sh utility

Installing ubuntu-mainline-kernel.sh

The latest kernel on Ubuntu and Linux Mint can also be installed using the ubuntu-mainline-kernel.sh command line utility.

Download and install the ubuntu-mainline-kernel.sh script:

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
sudo install ubuntu-mainline-kernel.sh /usr/local/bin/

ubuntu-mainline-kernel.sh help

Usage:

ubuntu-mainline-kernel.sh -c|-l|-r|-u

ubuntu-mainline-kernel.sh options:

Arguments:
  -c               Check if a newer kernel version is available
  -i [VERSION]     Install kernel VERSION, see -l for list. You don't have to prefix
                   with v. E.g. -i 4.9 is the same as -i v4.9. If version is
                   omitted the latest available version will be installed
  -l [SEARCH]      List locally installed kernel versions. If an argument to this
                   option is supplied it will search for that
  -r [SEARCH]      List available kernel versions. If an argument to this option
                   is supplied it will search for that
  -u [VERSION]     Uninstall the specified kernel version. If version is omitted,
                   a list of max 10 installed kernel versions is displayed
  -h               Show this message

Optional:
  -s, --signed         Only install signed kernel packages (not implemented)
  -p, --path DIR       The working directory, .deb files will be downloaded into
                       this folder. If omitted, the folder /tmp/ubuntu-mainline-kernel.sh/
                       is used. Path is relative from $PWD
  -ll, --low-latency   Use the low-latency version of the kernel, only for amd64 & i386
  -lpae, --lpae        Use the Large Physical Address Extension kernel, only for armhf
  --snapdragon         Use the Snapdragon kernel, only for arm64
  -do, --download-only Only download the deb files, do not install them
  -ns, --no-signature  Do not check the gpg signature of the checksums file
  -nc, --no-checksum   Do not check the sha checksums of the .deb files
  -d, --debug          Show debug information, all internal command's echo their output
  --rc                 Also include release candidates
  --yes                Assume yes on all questions (use with caution!)

Example of installing the latest kernel version

Checking the current kernel version:

uname -r
5.11.0-36-generic

The kernel is version 5.11.

We check which version of the kernel is the latest:

ubuntu-mainline-kernel.sh -c

To display a list of available kernels versions for installation, run the command:

sudo ubuntu-mainline-kernel.sh -r

For example, we want to install the kernel version v5.12.11, then the command is as follows (you do not need to specify the “v” prefix):

sudo ubuntu-mainline-kernel.sh -i 5.12.11

If you want to install the latest version at the moment, then run the following command:

sudo ubuntu-mainline-kernel.sh -i

You will be asked if you want to continue, enter “y”:

Latest version is: v5.14.6, continue? (y/N)

The program has exited – a restart is required for the changes to take effect.

Check the kernel version again:

How to recover Linux after installing the kernel

If your computer boots with a black screen, freezes, or something doesn't work after updating the kernel, reboot and select Advanced options for your distribution from the GRUB menu:

Then select the previous kernel version and press Enter:

Regardless of the reason, you need to boot with the previous version of the kernel if you want to remove the latest kernel. This is because you cannot remove the kernel that is currently in use.

If you do not see the GRUB2 menu, press and hold the Shift key or press the Esc key repeatedly (this may vary depending on BIOS or UEFI boot and the version of Ubuntu/Linux Mint you are using) while booting GRUB. The Grub menu should appear allowing you to select a previous kernel version.

After booting the previous kernel, you can remove the faulty kernel. ubuntu-mainline-kernel.sh allows you to remove kernels installed from the Ubuntu kernel PPA.

With ubuntu-mainline-kernel.sh you can remove the kernel version by running:

sudo ubuntu-mainline-kernel.sh -u VERSION

Where VERSION is the kernel version, for example 5.14. You can also use this utility with -u without specifying a version, in which case the tool will list up to 10 kernel versions and ask you which one you want to remove. It's worth noting that ubuntu-mainline-kernel.sh will not show official Ubuntu kernels in this list.

Update GRUB settings if not done automatically:

sudo update-grub

Linux Mint 20.2 Released: What’s New & Download Links

Download Linux Mint 20.2

Linux Mint 20.2 is uploaded to the mirrors and is available for download:

Linux Mint 20.2 “Uma”

The biggest piece of news this month is the upcoming release of Linux Mint 20.2 “Uma”. 

After the stable release is officially unveiled, the upgrade path will open from Linux Mint 20.1 and Linux Mint 20, and all new packages will be ported to LMDE 4. Some of the improvements and fixes made in Linux Mint 20.2 will also be carried over to earlier versions, in releases 20. x.

Bulky

A new XApp was implemented to add the ability to bulk rename files in Cinnamon and MATE. The new application is called Bulky and it will ship in Linux Mint 20.2.

In Xfce, Thunar already comes with its own embedded bulk renamer, so Bulky won’t be needed there.

Nemo Content Search

Nemo will feature content search. Until now you could only search for files. In Nemo 5.0 you’ll be able to combine file search and content search, i.e. files which are named a certain way and/or which contain particular words.

Regular expressions and recursive folder searches will be supported.

AMD support in NVIDIA Prime applet

Nvidia-prime-applet 1.2.7 was backported recently. It contains a fix for a regression in ubuntu-drivers-common which made the applet disappear.

It also contains support for computers with AMD/NVIDIA hybrids (i.e. systems with an integrated AMD GPU and a discrete NVIDIA GPU).

Warpinator

The upcoming version of Warpinator will feature the ability to select which network interface you want to use. If you are connected to multiple interfaces (Wireless + ethernet for instance) this allows you to select which network you want to share files on.

A new optional compression setting will also be available. Once enabled on both machines, compression can make transfers up to 3 times faster.

Cinnamon

Cinnamon 5 will provide management tools to check for and perform updates of Cinnamon spices. As a reminder, a Cinnamon “spice” is an add-on to the desktop environment which is not part of the core desktop. There are 4 types of spices:

  • applets (which run in panels)
  • desklets (which run on the desktop itself)
  • extensions (which modify how Cinnamon functions)
  • themes (which modify the way Cinnamon looks)

Until now to see updates and to apply them you had to go in the system settings or you had to use a 3rd party applet developed by Claudiux called “Spices Update“.

Cinnamon 5 will ship with a command line tool called cinnamon-spice-updater which can list available updates and/or apply them. To make it easy for distributions to integrate Cinnamon spice updates within their Update Manager a Python 3 module will also be provided.

Update Manager

The Mint Update Manager will support Cinnamon spice updates.

Although from a technical point of view they are radically different than APT updates, from a user point of view they will be presented in a very similar manner. You’ll be able to see the same kind of information for them, and to enjoy the same features as you did already, such as the ability to blacklist a particular spice or a version of a spice for instance.

You’ll also be able to automate spice updates. In automatic mode spices will be upgraded shortly after you log in, the DE will then get refreshed (this is barely visible, Cinnamon restarts itself seamlessly, you just see the mouse cursor get reset on the screen when this happens) and a notification will popup to show you what was upgraded.

The Update Manager will also handle the automation of Flatpak updates. This was previously located in “Startup Applications”.

Mint 18 EOL

It’s been 5 years already. Linux Mint 18, 18.1, 18.2 and 18.3 reached EOL (End of Life) this month and are no longer supported.

If you are running one of these releases your operating system will continue to work but you will no longer receive security updates from the repositories. We recommend you backup your data and perform a fresh installation of Linux Mint 20.1, which is supported until 2025.

Alternatively, you can upgrade to Linux Mint 19.3 which is supported until 2023.

How to install PowerShell in Linux Mint

The PowerShell installation instructions often forget about Linux Mint, apparently, their authors believe that Linux Mint users do not need PowerShell. Let's fill that gap and take a look at how to install PowerShell in Linux Mint.

Linux Mint has several versions - “regular”, which, by the way, also differs in desktop environments (Cinnamon, MATE, Xfce) and LMDE (stands for Linux Mint Debian Edition).

How to install PowerShell in Linux Mint 20.1 (Cinnamon, MATE, Xfce)

Installing PowerShell in Linux Mint is the same regardless of the desktop environment (Cinnamon, MATE, Xfce).

Update the package list:

sudo apt update

Install the dependencies:

sudo apt install -y wget apt-transport-https software-properties-common

Download the GPG keys of the Microsoft repository:

wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

Register the GPG keys for the Microsoft repository:

sudo dpkg -i packages-microsoft-prod.deb

Update the package list after adding packages.microsoft.com:

sudo apt update

Enable the “universe” repositories:

sudo add-apt-repository universe

Install PowerShell:

sudo apt install -y powershell

Start PowerShell:

pwsh

PowerShell will update automatically when all packages on the system are updated. You can separately launch the PowerShell update with the commands:

sudo apt update
sudo apt install powershell

If you want to remove PowerShell from Linux Mint, then run the command:

sudo apt remove powershell

How to install PowerShell in LMDE

Download the GPG keys of the Microsoft repository:

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb

Add the GPG keys for the Microsoft repository:

sudo dpkg -i packages-microsoft-prod.deb

Update the list of programs:

sudo apt update

Install PowerShell:

sudo apt install -y powershell

Starting PowerShell:

pwsh

PowerShell will update automatically when all packages on the system are updated. You can separately launch the PowerShell update with the commands:

sudo apt update
sudo apt install powershell

If you want to remove PowerShell from LMDE, then run the command:

sudo apt remove powershell

See also “Linux PowerShell Basics (Beginner's Guide)”.

Source

How to install a web server (Apache, PHP, MySQL, phpMyAdmin) on Linux Mint, Ubuntu and Debian

If you are a webmaster, or a PHP programmer, or you just need to run a website on your computer, then you can do it using a web server. On Linux, the web server (Apache) and related components (PHP, MySQL, phpMyAdmin) are installed in just a few commands.

This tutorial will show you how to set up a web server for sites on Linux Mint, Ubuntu and Debian.

How to install Apache, PHP, MySQL, phpMyAdmin on Linux Mint, Ubuntu and Debian

We will do most of the operations in the command line - the Linux terminal.

Open a terminal and run the following two commands in it:

sudo apt update
sudo apt install apache2 default-mysql-server php phpmyadmin

Answer No to the configuration prompt with dbconfig-common:

Use the Tab key to move between items and Enter to continue.

Select “apache2”:

Use the Space key to select items, use the Tab key to move between items, and press Enter to continue.

That's all! The web server (a bunch of Apache, PHP, MySQL, phpMyAdmin) is installed and ready to work. Open the link http://localhost/ in your browser

You will see the standard Apache page:

phpMyAdmin is available at http://localhost/phpmyadmin/

To start the web server every time you turn on the computer, run the command:

sudo systemctl enable apache2
sudo systemctl enable mysql

How to change URL path of phpMyAdmin. How to enable and disable phpMyAdmin

If during the installation of phpMyAdmin you chose not to configure it for use with the Apache web server, use the command to enable phpMyAdmin:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/

Restart the web server for the changes to take effect:

sudo systemctl restart apache2

To disable phpMyAdmin use the command:

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

Restart the web server for the changes to take effect:

sudo systemctl restart apache2

There is an important line in the /etc/phpmyadmin/apache.conf file:

Alias /phpmyadmin /usr/share/phpmyadmin

Its essence is that the URL /phpmyadmin (for example, http://localhost/phpmyadmin) begins to correspond to the /usr/share/phpmyadmin folder. That is, the phpMyAdmin files (scripts) are physically located in /usr/share/phpmyadmin, and not in the web server directory (for example, /var/www/html/).

Many automatic scanners of “hidden” files and folders of a web server and sites check the “phpmyadmin”, “pma” and other similar directories. You can hide your phpMyAdmin nicely by changing the Alias. For instance:

Alias /lkjgler94345 /usr/share/phpmyadmin

phpMyAdmin will now be available at http://localhost/lkjgler94345 - not easy to find.

phpMyAdmin setup

By default phpMyAdmin does not allow login without password. If you have not set a password for the MySQL DBMS, then you have two options to choose from:

  • set password
  • make changes to phpMyAdmin setting to allow passwordless login

It is recommended to set a password for the database. To change the password, you can use the script:

sudo mysql_secure_installation

If you want to allow logging into phpMyAdmin without a password, then open the file

sudo gedit /etc/phpmyadmin/config.inc.php

Find the second (there are two) line

// $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

and uncomment it (remove the two slashes from the beginning of the line) to get:

$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

Most likely, when connecting, you will receive a surprise in the form of the error “#1698 - Access denied for user 'root'@'localhost'”. Step-by-step actions for its solution in this manual.

Where are the sites on the Apache web server?

By default, the root folder for web documents is /var/www/html. In /var/www you can create your own virtual hosts.

The /var/www/html folder and all files inside it belong to the root user.

For you to be able to modify, add, delete files in this folder, you need to use sudo. For example, with the following command, you will open a file manager to manage the contents of a folder.

sudo nemo /var/www/html

All other programs that make changes to /var/www/html must also be run with sudo.

On a local server, for ease of use, you can make yourself the owner of this folder:

sudo chown -R $USER:$USER /var/www/html

Now you and the programs launched on your behalf do not need superuser privileges to work with the contents of this directory:

nemo /var/www/html

Apache index files

If the user requests from the web server not a file, but a directory, then the server looks for files index.html, index.php, index.htm, etc. in it. If these files are in this directory, then their contents are shown. These files are called index files. If there are two or more such files in a directory at once, then one of them is shown in accordance with the set priority.

You can see which files are index files for your server and in what order their priority is arranged in the file

sudo gedit /etc/apache2/mods-enabled/dir.conf

There you will see something like:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Typically, users want to move the PHP index file (index.php) to the first position after DirectoryIndex, so that something looks like this:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

After making changes, save and close the file, restart the web server.

Conclusion

This tutorial showed you how to install Apache web server on your Linux Mint machine. In terms of its functionality, this server does not differ from the capabilities of hosting. You can test your sites on it, use it when learning PHP, install WordPress, etc. Moreover, this server can be made available to the local or even global network.

Chromium will no longer sync passwords - what should Linux users do?

Chrome and Chromium on Linux

Everyone knows the Google Chrome web browser. Chromium is at its core. That is, Chromium is the open source web browser that Google builds on the Chrome web browser, adding proprietary (i.e. closed) code to it.

The Chrome browser is distributed by Google itself as compiled files. The Chromium browser is available as open source. For this reason, Chrome is popular among Windows users - most Windows users install binaries compiled by the authors on their system and do not see anything strange in this.

It's a little different on Linux. Linux users also download and install compiled packages, but compilation is done by the distribution maintainers using the source code of the programs. This is in line with the spirit of Linux and its licenses. Closed source packages are placed in separate repositories (package sources for installation).

For this reason, it is Chromium that is prevalent among Linux users, and Chrome is often absent from the repositories. But until recently, browsers were almost identical, so you could use Chromium just like Chrome.

The Chrome/Chromium web browser makes extensive use of Google's APIs. These APIs include, for example, password and bookmark synchronization. But Google announced that from March 2021, some APIs will be available only in the Chrome web browser, but will be disabled in Chromium, as well as in all third-party browsers that use Chromium as their basis. Disabled APIs include password synchronization.

I don't mind third-party web browsers - just imagine that if you log into your Google account on a third-party browser, thanks to the password synchronization function, it gets access to all (!) your passwords on all (!) websites. Many untrustworthy Chromium-based web browsers have sprung up about the creators of which cannot be found and whose source code is not published (sometimes despite their assurances).

But what's really annoying is that important functions will no longer work in Chromium too. From a full-fledged alternative to Chrome, Chromium has now become a web browser with limited functions.

If you don't use password sync, then you have nothing to worry about

Despite the anger of the maintainers of some distributions and threats to stop supporting or even kick the web browser out of the repositories, apparently no one will do it. Therefore, if you do not need the function of synchronizing passwords and bookmarks, then you can safely continue using Chromium on Linux.

But what about Linux users who use Chromium and need password sync and other features? Let's consider several options.

1. Stop using the password sync feature in web browsers

Yes, the fact that all your passwords are stored by strangers is bad, to put it mildly. But it's super convenient if you have more than one device (computer, phone, tablet, second computer, more virtual computers…). But if you think about it, it's like giving the keys to your apartment to an outsider, so that when you appear, he opens and closes the door to your apartment, and you don't have to climb into your pockets for keys. Conveniently. But you have no idea what happens to your keys while you are away.

Therefore, one option is to continue using Chromium, but stop using the password sync feature.

2. Switch to Firefox

Firefox is open source and also has a password sync feature. If you want to show Google that you are not satisfied with this change, you can switch to Firefox. Just in case - if your passwords are synchronized using Firefox, then it is no better or worse than if they are stored by Google.

3. Install Chrome on Linux

In fact, installing Chrome from Google itself on Linux is trivial. So you can go the same route that most Windows users do - just install a web browser with proprietary code.

In Debian, Linux Mint, Ubuntu, Kali Linux and their derivatives, to install Google Chrome, just run the commands:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i ./google-chrome-stable_current_amd64.deb
sudo apt install -f

That's all! At the same time, during the installation of the web browser, the Google repository will be added to the list of repositories and Chrome will be updated along with the rest of the packages in the system.

In Arch Linux, Manjaro, BlackArch and their derivatives, to install Google Chrome, just run the command:

pikaur -S google-chrome

If you have not yet installed pikaur, then install it according to the instructions “Automatic installation and update of AUR packages”.

To update a web browser package, you will need to run a system update using pikaur - this command is to update both packages from the system repositories and from the AUR:

pikaur -Syu

4. Extensions for synchronization with encryption (Bitwarden)

You can install an extension like Bitwarden and continue using Chromium.

Bitwarden uses end-to-end encryption, meaning passwords are synchronized encrypted. Moreover, the source code is open even for the server, that is, you can synchronize without any third-party participants at all.

Bitwarden works with almost any device and browser you can think of: Windows, Mac, Linux; iOS and Android; Chrome, Firefox, Safari, Edge and many other niche browsers. This gives you freedom of movement, unlike browser password managers.

Conclusion

Which option did you choose or, perhaps, made some other decision?

Error “Cannot load modules/libphp7.so” (SOLVED)

Some Linux distributions have already started migrating to PHP 8. In some distributions the new version of PHP removes the old one, as a result of which the web server may stop working due to the fact that the files specified in the web server configuration are missing or renamed.

Examples of errors you may encounter:

httpd: Syntax error on line 504 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf/mods-enabled/php.conf: Cannot load modules/libphp7.so into server: /etc/httpd/modules/libphp7.so: cannot open shared object file: No such file or directory

It says the file /etc/httpd/modules/libphp7.so was not found.

Another error that says the /etc/httpd/conf/extra/php7_module.conf file was not found:

httpd: Syntax error on line 504 of /etc/httpd/conf/httpd.conf: Syntax error on line 2 of /etc/httpd/conf/mods-enabled/php.conf: Could not open configuration file /etc/httpd/conf/extra/php7_module.conf: No such file or directory

On some distributions, the Apache web server service is called apache2, and on some httpd. Therefore, this guide will consider both options.

Fix “Cannot load modules/libphp7.so” when webserver service is named httpd (Arch Linux, CentOS and their derivatives)

To view the status of the service and the errors that led to its inoperability, run the command:

systemctl status httpd.service

Open the config file /etc/httpd/conf/mods-enabled/php.conf:

sudo vim /etc/httpd/conf/mods-enabled/php.conf

Find the line in it

LoadModule php7_module modules/libphp7.so

and replace it with:

LoadModule php_module modules/libphp.so

Then find the line

Include conf/extra/php7_module.conf

and replace with:

Include conf/extra/php_module.conf

Restart the web server service:

sudo systemctl restart httpd.service

and check its status:

systemctl status httpd.service

Fix “Cannot load modules/libphp7.so” when webserver service is named apache2 (Debian, Ubuntu, Linux Mint, Kali Linux and their derivatives)

To view the status of the service and the errors that led to its inoperability, run the command:

systemctl status apache2.service

Disable PHP 7.* module:

a2dismod php7.4

Maybe you have a different version of PHP, start typing “a2dismod php” and use the TAB key for autocompletion:

To enable PHP 8 use a command like (use the TAB key for auto-completion):

a2enmod php8

Restart the web server service:

sudo systemctl restart apache2.service

and check its status:

systemctl status apache2.service

Error in LMDE “cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries nor crypto modules” (SOLVED)

When updating the system, if it was necessary to rebuild initramfs (usually necessary after every Linux kernel update), a warning appeared in LMDE and other Linux distributions. This is not a critical warning and not an error – in fact, this is information about incorrect system configuration. Example of this notification:

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries
    nor crypto modules. If that's on purpose, you may want to uninstall the
    'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs
    integration and avoid this warning.

The message in the screenshot says, “that the initramfs image may not contain cryptsetup executables, nor crypto modules. If this is intended, then you can remove the cryptsetup-initramfs package to disable the integration of cryptsetup and initramfs and so that this warning disappears. "

Now cryptsetup and its dependencies are added to the initramfs image only when a device is found that needs to be unlocked at the initramfs stage.

Depending on your plans, there are two options:

  • if you don’t know if in the future you will create encrypted partitions or partitions that should be unlocked at the initramfs stage, then just do nothing and do not change – ignore this informational message, it is harmless
  • if you definitely won’t create encrypted partitions, then delete cryptsetup-initramfs package

So, if you would not create encrypted partitions and do not plan to do this, then you can remove the cryptsetup-initramfs package:

sudo apt remove cryptsetup-initramfs
sudo apt autoremove

By the way, you can reinstall the cryptsetup-initramfs package later if you need it.

Loading...
X