Complete Linux Mint 22.3 Setup Guide for Beginners

What to Do After Installing Linux Mint 22.3 (Complete Setup Guide for Beginners & Developers)

If you’ve just installed Linux Mint 22.3 (Cinnamon Edition), this guide will help you transform a fresh installation into a fully functional development and daily-use environment.

This tutorial is especially useful for beginners who want a ready-to-use system for browsing, development, and productivity.


⌨️ 1. Keyboard Language Setup (Bangla + English)

To add multiple keyboard layouts:

  1. Open System Settings
  2. Go to Keyboard
  3. Navigate to Layouts tab
  4. Add:
    • English
    • Bangla (Probhat)

🎯 Shortcut Recommendation

Use:

Super (Windows key) + Space

🚀 2. Install Essential Applications

Open Software Manager and install the following:

📦 Recommended Apps

  • VLC (media player)
  • Brave (privacy-focused browser)
  • Kazam (screen recorder)
  • Geany (lightweight code editor)
  • Discord
  • Telegram

Install Visual Studio Code (with auto updates)

# Download latest version
wget "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64" -O vscode.deb

# Install
sudo apt install ./vscode.deb

This automatically:

  • Adds Microsoft repository
  • Enables future updates via apt

🌐 Install Additional Browsers & Tools

Download & Install Manually

Install Chromium via Flatpak

flatpak install flathub org.chromium.Chromium
flatpak run org.chromium.Chromium

🐍 3. Python Development Setup

Check Python Installation

python3 --version

Install pip (Python Package Manager)

sudo apt install python3-pip
pip3 --version

Install Development Tools (Recommended)

sudo apt install python3-dev python3-venv build-essential

Optional: Use python command instead of python3

sudo apt install python-is-python3

Install Common Python Packages

pip install requests pandas openpyxl

🧪 Virtual Environment Setup

# Create virtual environment
python3 -m venv venv

# Activate
source venv/bin/activate

# Install packages inside venv
pip install pandas

🌐 4. LAMP Stack Setup (For Web Development)

LAMP = Linux + Apache + MariaDB + PHP


🔄 Update System

sudo apt update && sudo apt upgrade -y

🌍 Install Apache (Web Server)

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

👉 Test in browser:
http://localhost


🗄️ Install MariaDB (Database)

sudo apt install mariadb-server mariadb-client -y

Secure Installation

sudo mysql_secure_installation

Recommended options:

  • Set root password → YES
  • Remove anonymous users → YES
  • Disallow remote root login → YES
  • Remove test DB → YES
  • Reload privileges → YES

🧩 Install PHP

sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip unzip -y

Check version:

php -v

⚙️ Enable PHP in Apache

sudo a2enmod php*
sudo systemctl restart apache2

🧪 Test PHP

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

👉 Visit:
http://localhost/info.php


🛠️ Install phpMyAdmin

sudo apt install phpmyadmin -y

During installation:

  • Select apache2
  • Choose YES for DB config
  • Set password

Enable phpMyAdmin

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo systemctl restart apache2

👉 Access:
http://localhost/phpmyadmin


⚠️ Fix Common MariaDB Login Issue

sudo mysql

Then run:

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('StrongPassword');
FLUSH PRIVILEGES;
EXIT;

👤 Create Separate Database User (Recommended)

sudo mysql
CREATE USER 'mydbadmin'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON *.* TO 'mydbadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

🔁 Enable Rewrite Module

sudo a2enmod rewrite
sudo systemctl restart apache2

🔐 Set Proper Permissions

sudo chown -R $USER:www-data /var/www/html
sudo chmod -R 775 /var/www/html

🏠 5. Setup Local Development Directory (~/www)

Instead of /var/www/html, you can work from your home directory.


📁 Create Directory

mkdir -p ~/www
chmod -R 755 ~/www

⚙️ Create Virtual Host

sudo nano /etc/apache2/sites-available/local.conf

Paste:

<VirtualHost *:80>
    ServerName local.test
    DocumentRoot /home/YOUR_USERNAME/www

    <Directory /home/YOUR_USERNAME/www>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/local_error.log
    CustomLog ${APACHE_LOG_DIR}/local_access.log combined
</VirtualHost>

🔌 Enable Site

sudo a2ensite local.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

🌐 Add Local Domain (Optional)

sudo nano /etc/hosts

Add:

127.0.0.1 local.test

🔓 Fix Permission Access

chmod o+x /home/YOUR_USERNAME

🔁 Restart Apache

sudo a2enmod rewrite
sudo systemctl restart apache2

🧪 Test Local Project

echo "<?php echo 'Hello, it works.';" > ~/www/test.php

👉 Open:


🖥️ JFYI, My System Overview (Example Setup)

  • Processor: Intel Core i5-10400
  • Graphics: Intel CometLake-S GT2
  • RAM: 16GB
  • Desktop Environment: Cinnamon 6.6.7
  • Display Server: X11

🔧 Git Setup & GitHub SSH Integration on Linux Mint

After setting up your development environment, the next essential step is configuring Git and connecting it securely with GitHub using SSH.

This section will guide you through installation, configuration, and authentication.


📦 Install Git from the official Linux Mint (Ubuntu-based) repositories

sudo apt update -y
sudo apt install git

✅ Verify Git Installation

git --version

👤 Configure Git Identity

Set your name and email (used in commits):

git config --global user.name "Full Name"
git config --global user.email "youremail@example.com"

🔍 Verify Configuration

git config --list

🔐 Connect Git with GitHub via SSH

Using SSH allows secure communication with GitHub without entering your password every time.


🔎 Step 1: Check Existing SSH Keys

ls -al ~/.ssh

If you see files like:

  • id_ed25519
  • id_ed25519.pub

👉 You already have an SSH key and can reuse it. Otherwise, generate a new one.


🔑 Step 2: Generate a New SSH Key

ssh-keygen -t ed25519 -C "youremail@example.com"

When prompted:

  • Press Enter to accept the default location
  • Optionally set a passphrase (recommended for extra security)

This will create:

  • Private key: ~/.ssh/id_ed25519
  • Public key: ~/.ssh/id_ed25519.pub

ℹ️ Note: ed25519 is a modern cryptographic algorithm known for strong security, fast performance, and smaller key size.


🚀 Step 3: Start SSH Agent & Add Key

Start the SSH agent:

eval "$(ssh-agent -s)"

Add your private key:

ssh-add ~/.ssh/id_ed25519

📋 Step 4: Copy Your Public Key

cat ~/.ssh/id_ed25519.pub

Copy the full output (it starts with ssh-ed25519).


🌐 Step 5: Add SSH Key to GitHub

  1. Go to your GitHub account
  2. Click your profile → Settings
  3. Navigate to SSH and GPG keys
  4. Click New SSH key
  5. Paste your copied key
  6. Add a title (e.g., My Linux Mint Desktop)
  7. Click Save

🔍 Step 6: Test the Connection

ssh -T git@github.com
  • First time: type yes to continue
  • Expected output:
Hi username! You've successfully authenticated, ...

✅ You’re Ready

You can now:

  • Clone repositories without passwords
  • Push and pull securely
  • Work efficiently with Git and GitHub

💡 Pro Tips

  • Use SSH instead of HTTPS for better workflow
  • Keep your private key secure (~/.ssh/id_ed25519)
  • Backup your SSH keys if you reinstall your system

🟢 Node.js & Version Manager (N) Setup on Linux Mint

If you’re doing modern web development (Vue, React, build tools, etc.), installing Node.js is essential. This section shows how to install Node.js and manage multiple versions using N (Node version manager).

📦 Step 1: Install Node.js (via NodeSource)

Linux Mint’s default repository often provides an older Node.js version. It’s better to install the latest LTS version from NodeSource.

# Install curl (if not already installed)
sudo apt install curl -y

# Add NodeSource repository (LTS version)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

# Install Node.js
sudo apt install nodejs -y

✅ Verify Installation

node -v
npm -v

📌 Step 2: Install N (Node Version Manager)

n is a simple and fast Node.js version manager built on top of npm.

sudo npm install -g n

🔄 Step 3: Install & Switch Node Versions

Install Latest Version

sudo n latest

Install LTS Version

sudo n lts

Install Specific Version

sudo n 18

Switch Between Installed Versions

sudo n

👉 This opens an interactive menu to select versions.


🔍 Verify Active Version

node -v

⚠️ Fix Common Path Issue (if node version doesn’t change)

Sometimes the system still points to the old Node.js path.

hash -r

Or restart terminal:

exec $SHELL

💡 Pro Tips

  • Use LTS version for stability in production projects
  • Use latest version for testing new features
  • Avoid mixing system Node.js and n versions
  • If you face permission issues, consider using a non-root setup

    ✅ Final Result

    After setup, you can:

    • Run Node.js applications
    • Use npm/yarn for package management
    • Switch Node versions easily for different projects

    Our Linux Mint system is now fully ready for modern JavaScript development.

    Leave a Reply

    Your email address will not be published. Required fields are marked *