Things you should do after installing your new Fedora workstation.
- Method (a): from
Settings->About, changeDevice Name. - Method (b): from terminal, run (change <newhostname> to your liking):
sudo hostnamectl set-hostname <newhostname>
- Go to
Settings->Devies->Mouse & Touchpadto enable touchpad scrolling and taps. - Go to
Settings->Devies->Keyboard Shortcutsto add shortcut for Terminal (Command:gnome-terminal),Swtich windows,Switch applications,Hide all normal windows, etc.
- Go to
Settings->Displaysto adjust your monitors and resolution settings.
- Edit
/etc/dnf/dnf.confand append the following linesfastestmirror=true deltarpm=true
- Run
sudo dnf update sudo dnf upgrade
Software->Software Repositories->Third Party Repositories->Enable All- From the list below, enable required repositories such as google-chrome, nvidia-drivers, steam, etc.
- Free
sudo rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm - Non-free
sudo rpm -Uvh https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm - Source
- Add repository and install additional fonts
sudo dnf install curl cabextract xorg-x11-font-utils fontconfig sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
- Source
- Open
Software, Go toUpdatestab and hit the refresh button. - Install all updates (if any). This may take a few minutes to several hours.
- Reboot your system once the process is finished.
- Note: Driver installation is a tricky process and many things can go wrong, proceed with caution.
- Nvidia driver installation guide.
- For AMD GPUs: Opensource
amdgpudriver is already included.
- After enabling
google-chromepackage fromThird Party Repositories, search and install fromSoftware - Start Chrome from Application Dashboard to update settings, connect google account, enable syncing etc.
- Install VLC Player:
sudo dnf install vlc - VLC comes in with most common codecs you will need. For additional codecs, open
Softwareand searchcodecs. Install various GStreamer codecs from search results.
- Install:
sudo dnf install -y openssh-server - Start service at boot:
sudo systemctl enable sshd.service - Start service:
sudo systemctl start sshd.service - To test, run:
ssh localhost -l <username> - Change default port:
- Open sshd_config:
sudo vi /etc/ssh/sshd_config - Find a line:
Port 22(or#Port 22) - Change it to some other port number (choose port number between 1024 and 65535):
Port 2222(make sure to remove commenting#). - Save the file.
- Update iptable and firewall to allow traffic:
sudo /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp sudo firewall-cmd --reload
- Restart sshd service:
sudo systemctl restart sshd.service - Verify that your new port is open:
netstat -tulpn | grep 2222
- Open sshd_config:
- Run
ssh-keygenand answer the prompts. - Verify you have the files:
ls ~/.ssh - Start ssh-agent:
eval `ssh-agent` - Add private key to ssh-agent:
ssh-add ~/.ssh/id_rsa - You can now use the content of
~/.ssh/id_rsa.pubas your public key. - For example, add the conent of
~/.ssh/id_rsa.pubas your bigbucket.org or github.com ssh key. - To verify:
ssh -T [email protected]or,ssh -T [email protected]
- Install packages for L2TP
sudo dnf -y install \ xl2tpd openvpn libreswan \ NetworkManager-l2tp \ NetworkManager-l2tp-gnome \ NetworkManager-openvpn \ NetworkManager-openvpn-gnome \ NetworkManager-pptp \ NetworkManager-pptp-gnome \ NetworkManager-strongswan \ NetworkManager-strongswan-gnome
- Restart NetworkManager:
sudo systemctl restart NetworkManager.service - Use
nm-connection-editorto add connections - To create a vpn connection from an
.opvpnfile, selectImport a saved VPN configuration...from drop-down.
- Install vim:
sudo dnf install vim - Create file
~/.vimrcand add following contentsyntax on set shiftwidth=4 softtabstop=4 expandtab set autoindent
- Run following commands
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf check-update sudo dnf install code - Source
- Download tar.gz archive from Toolbox App page.
- Extract and run JetBrains Toolbox binary executable file by double clicking.
- This should install and run the toolbox. You can install your favorite JetBrains IDEs (PyCharm Community, IntelliJ IDEA Community, Android Studio, etc) from the toolbox, it will keep them updated too.
- You can remove downloaded and extracted files after installation.
- Install DNF plugins core:
sudo dnf -y install dnf-plugins-core
- Add repository configuration:
sudo tee /etc/yum.repos.d/docker-ce.repo<<EOF [docker-ce-stable] name=Docker CE Stable - \$basearch baseurl=https://download.docker.com/linux/fedora/31/\$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg EOF
- Install docker
sudo dnf makecache sudo dnf install docker-ce docker-ce-cli containerd.io
- Start docker service and check status
sudo systemctl start docker sudo systemctl status docker
- Add yourself to docker usergroup to access without sudo
sudo usermod -aG docker $(whoami) && newgrp docker
- Update firewall
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0 && sudo firewall-cmd --reload - Change to cgroup v1 and reboot system (required to run docker since Fedora 31):
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg - To revert back to cgroup v2, run following commands and reboot:
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy" sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
- Comes with Git 2.26+
- Comes with Python 3.8, follow this for older versions of Python 3.
- Install python headers and static libraries:
sudo dnf install python3-devel - Update pip:
python -m --user pip install --upgrade pip - Install python libraries like
cookiecutter,tox,pytest, etc using pip.
- Download linux archive and run
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz - Upate
$PATHvariable at the end of your~/.bashrcfile:export PATH=$PATH:/usr/local/go/bin
- Source bashrc file:
source ~/.bashrc