Install and Configure Oh My Zsh and use it in VSCode in Linux

If you use the simple Bash Terminal in your OS, you may want to give Zsh a try to use a faster and safer terminal with many more features. The simple Bash that exist in the common dist of Linuxes are not changed over years and just received some security fixes, but the community behind Zsh are improving it everyday and bring new useful plugins.

I use ‘Oh my Zsh’, Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.

OhMyZSH in Yakuake

Installing it is easy, here we go:

First we install zsh itself:

sudo apt-get install zsh
Code language: JavaScript (javascript)

And then ‘Oh my Zsh’ framework

Via Curl:

sudo sh -c "$(curl -fsSL"
Code language: JavaScript (javascript)

Or via Wget:

sh -c "$(wget -O-"
Code language: JavaScript (javascript)

During installation it will ask you if you want to make it your default terminal and you may answer yes.

Install the requirments:

sudo apt-get install fonts-powerline ttf-ancient-fonts
Code language: JavaScript (javascript)

Configure Oh My Zsh

You can configure Oh My Zsh to change how it update (Automate or asking), Enable/Disable Plugins, Setting Default user etc. Here is part of changes I’ve made, I’ve enabled some plugins and uncommented/changed some settings:

sudo nano ~/.zshrc
export PATH=$HOME/bin:/usr/local/bin:$PATH DEFAULT_USER=`whoami` DISABLE_UPDATE_PROMPT="true" export UPDATE_ZSH_DAYS=1 plugins=( bower composer git bundler dotenv osx vscode rake rbenv ruby ) if [[ -n $SSH_CONNECTION ]]; then export EDITOR='nano' else export EDITOR='atom' fi
Code language: JavaScript (javascript)

Installing Theme

There are many plugins installed by default, but I’ve found this nice theme that comes with some nice features and looks pretty useful:

sudo wget -P $ZSH_CUSTOM/themes/
Code language: PHP (php)

And then configure the theme in your ~/.zshrc file:

Change the default terminal in VSCode

OhMyZSH in Visual Studio Code Terminal

Ok so by now we have installed and configured Zsh and set it as default but still VSCode use the default Bash as the integrated terminal. So we want to change it to Zsh, but there are a problem, VSCode only support monospace fotns and cannot use the power-fonts we have installed. so we have to install some compatible fonts first.

My suggestion is Meslo from nerd-fonts package. You can download it from their repository: nerd-fonts/patched-fonts/Meslo/M/Regular/complete
Just download the mono version and install it via font manager in your OS.

Or if you wish to install it via command line:

git clone --depth 1 cd nerd-fonts sudo ./
Code language: PHP (php)

Now we can configure VSCode to use Zsh, Add the following lines to settings.json of VSCode or find them one by one in settings and apply them:

"": "/bin/zsh", "": "/bin/zsh", "terminal.integrated.fontFamily": "MesloLGM Nerd Font"
Code language: JavaScript (javascript)

Set permanent custom resolution for Ubuntu and KDE Using Xrandr and Xsetup

KDE Logo

After switching from Gnome and Unity to KDE, I had a problem with SDDM and it was that it could not detect correct resolution for my UltraWide monitor and set it to Full HD instead of 2560×1080. I had a similar problem in Ubuntu with another old monitor. Anyway that solution is same in both cases.

The solution for this problem is using Xrandr and Xsetup to set the correct resolution and make it permanent.

For example, in my case for 2560×1080 resolution and 50hz refresh rate, I used the following commands:

xrandr --newmode "2560x1080_50.00" 188.75 2560 2712 2976 3392 1080 1083 1093 1114 -hsync +vsync
xrandr --addmode HDMI-2 2560x1080_50.00
xrandr -s 2560x1080 -r 50

Note: you can get the right numbers for the first line of command using this:

cvt 2560 1080 50

Ok, we have the correct commands and resolution for our system, but problem is that we should run all these commands after every reboot and also these commands won’t apply to our login screen, so we should use Xsetup file to run the commands before loading the desktop manager, so we put above commands into Xsetup file.

The path for Xsetup file in KDE 5 (Kubuntu 18.04):


And for older versions of KDE:


Done, now reboot your system and enjoy the correct resolution.

Google Chrome in Ubuntu keeps detecting network change

Recently I had problem with my Ubuntu, Whenever I tried to open a website my Chromium told me that a Network Change has been detected and after 1-2 reload that sites would load and sometimes failed to load fully.

After looking up for that problem, I found out many other people had same problem and it has something to do with “avahi-daemon”.


According to the links I found in Ubuntu forums, this problem comes from IPv6 in Ubuntu and disabling that service will fix it, I tried it and it worked:

# create the long-life config file
echo "net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee /etc/sysctl.d/99-my-disable-ipv6.conf

# ask the system to use it
sudo service procps reload

# check the result
cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Ubuntu 13.04 Raring Ringtail is out, What’s new?

ubuntu_rrCanonical has released Ubuntu 13.04 Raring Ringtail, most likely the last release of Ubuntu that will primarily cater for laptop and desktop users. For Ubuntu 13.04, Canonical focused on tightening up the core of the OS and  polishing the Unity interface in preparation for Ubuntu’s smartphone and tablet debut, which is slated to occur in October with the release of version 13.10. There’s also the usual slew of package updates, a new Linux kernel, and a couple of new features, too.

The first thing you’ll notice upon booting Raring Ringtail is that Unity, and the PC in general, is faster and more responsive. This is down to Canonical putting a lot of time and effort into tweaking Ubuntu’s core libraries, to reduce the CPU and memory usage of system processes, resulting in a snappier interface (Unity) and installed apps. This tightening of Ubuntu’s core should also reduce power consumption, which is good news for laptop users. While these changes will obviously help laptop and desktop users, their primary purpose is to prepare Ubuntu for its debut on smartphones and tablets, which generally have less RAM and weaker processors. While we’re discussing core changes, Ubuntu 13.04 now uses the Linux 3.88 kernel — a sizable upgrade from Ubuntu 12.10′s Linux 3.5 kernel (which had a nasty security vulnerability, incidentally).

Moving from the core and into userland, Ubuntu 13.04 features updated versions of Firefox, LibreOffice, and Python. The workspace switcher has been removed from the Unity launcher by default, and Ubuntu One (Canonical’s cloud storage service) can now be controlled from the system tray. If you add some social media accounts, such as Twitter or Facebook, there’s also a new “Friends” lens, which is a lot like the People app in Windows 8 — basically, you can browse your friends’ latest updates, like, retweet, and so on. Overall, though, not a whole lot has outwardly changed in Ubuntu 13.04 — it’s definitely more of a tweak-and-polish release. For a good overview of Ubuntu 13.04′s new features, watch the video below.

If you want to try out Ubuntu 13.04, your best bet is to download the ISO and install it in VirtualBox — or, if you’re feeling daring, and perhaps a little disillusioned with Windows 8, how about you try running Ubuntu 13.04 as your primary OS? You might be pleasantly surprised. If you’d rather just dangle a toe or two in the water, there’s an excellent guided tour of 13.04 up on the Ubuntu website.

The whole Ubuntu ecosystem: TV, PC, tablet, smartphone (in theory)

Looking ahead, Canonical now has its work cut out with Ubuntu 13.10, which will introduce the Ubuntu Touch interface for smartphones and tablets. Details are fairly scarce at the moment, in accordance with Canonical’s move to a closed-door development process, but it seems like Canonical is attempting to create a single version of Ubuntu that works across PCs, smartphones, tablets, and even TVs (See: Canonical outs Ubuntu TV: Brave or stupid?) Ever since the Unity interface was first introduced, we have presumed that Ubuntu was heading in the direction of mobile devices — and now we’re just six months away from it actually happening. It’s definitely a savvy move for Canonical, with the PC market slowly dying, but whether it can actually carve out a section of the mobile market from Apple, Google, and Microsoft remains to be seen.

Cross-posted from ExtremeTech.


Ubuntu Desktop 8.04 LTS approaches end of life

H-Online: In a post on the project’s security announce mailing list, Ubuntu Release Manager Kate Stewart has reminded users that the desktop version of Ubuntu 8.04 LTS, code named Hardy Heron, will reach its end of life in May. Version 8.04 of the Debian-derived Linux distribution was released on 24 April 2008.

Based on the 2.6.24 Linux kernel, it placed a stronger focus on stability and ease of use, rather than on new features, and included the GNOME 2.22 desktop environment, as well as a new installer that allowed Ubuntu to be installed directly under Windows without having to boot from CD or re-partition the hard disk. Built-in applications included version 2.4 of the office suite, Firefox 3.0 Beta 5, the F-Spot photo manager and the GIMP image editor. After 12 May 2011, no new updates, including security updates and critical fixes, will be available. The server edition of Ubuntu 8.04 LTS will continue to be supported until May 2013.

Hardy Heron users are advised to upgrade to a later release to continue receiving updates. The developers note that users wanting to upgrade to 10.10 from 8.04 will first have to upgrade to 10.04 LTS. Standard releases of Ubuntu are supported for 18 months of updates for both the desktop and server versions, while Long Term Support (LTS) versions of Ubuntu are supported for three years for the desktop releases and five years for server releases.

The current development release is Ubuntu 11.04 Beta 1, code named “Natty Narwhal“, from the end of March. The final version of Natty Narwhal is scheduled to be released on 28 April 2011. The latest stable release is version 10.10 “Maverick Meerkat”, while the current Long Term Support version is Ubuntu 10.04.2 LTS “Lucid Lynx”. Ubuntu is sponsored by UK based Canonical Ltd.

GNOME Developers Attack Canonical’s Ubuntu Decision

Many Ubuntu users will undoubtedly have strong opinions on Canonical’s recent proposal to replace the GNOME desktop with Unity in the Ubuntu 11.04 release.  But for the programmers behind GNOME, one of the open-source community’s most important projects, the announcement might prove to be even more upsetting.  Jon McCann, lead designer for GNOME Shell, recently shared his thoughts on this topic with us–and he was none too charitable in his comments on Canonical.  Read on for details.

GNOME Shell, of course, is the new desktop interface on which GNOME developers are currently hard at work as the next big step for one of the Linux world’s most popular desktop environments.  GNOME Shell introduces a number of innovative interface concepts that, if successful, could truly redefine the way users interact with their operating system.

Unity, meanwhile, is an interface developed by Canonical that borrows many of its ideas from GNOME Shell.  Canonical began work on Unity last spring, and introduced it as the default interface for Ubuntu Netbook Edition in the Ubuntu 10.10 release, which debuted a few weeks ago.

But the big news came last Monday at the Ubuntu Developer Summit in Florida, where Mark Shuttleworth suggested that the next Ubuntu release, April 2011′s Natty Narwhal, should adopt Unity as the interface for Ubuntu Desktop Edition as well as the netbook version, which would entail major changes for many users–not to mention upstream developers, who might have to make big changes if they want their code to remain consonant with Unity.

Canonical’s Leap Off?

Ubuntu developer Jono Bacon was quick to point out that Unity will still depend heavily on GNOME’s software stack, even if the interface itself break away from GNOME.  That may be true, but GNOME developer Jon McCann nonetheless views this move as a fundamental break between Ubuntu and GNOME.

Not that McCann was surprised.  “Canonical has been pulling away from the GNOME project for about two years,” he declared.  “So, this was inevitable.  I suspect that the timing probably has a lot to do with Mark’s jealousy of the recent OS X Tiger announcement.”

Nor did McCann question the validity of Canonical’s decision.  The organization has been working “to differentiate and become a profitable company” for some time now, he said, and the break with GNOME seems to fit into that equation.

But McCann is doubtful that Canonical’s new strategy will pay off for the company.  Questioning the feasibility of getting Unity ready for Ubuntu Desktop Edition by April, McCann noted that Unity’s principal designer just left Canonical, and that it will be difficult for the company to forge a completely independent path after having relied centrally on upstream contributions for most of its existence.  “When you have been standing on the shoulders of giants for so long it is a bold move to leap off and hope you can fly on your own,” McCann asserted.

Despite his lack of optimism for Canonical’s strategy, however, McCann views the break as a change that can make GNOME stronger by lessening its dependence on downstream developers.  “We should probably stop relying on distributions to deliver our value anyway.  I think there is a valid comparison to how musicians are starting to realize they don’t need to sell their soul to record companies and corporate radio stations to reach their audience.”

And insofar as the Unity plans might represent a rift between Ubuntu and GNOME–or, indeed, between Ubuntu and much of the rest of the open-source ecosystem–McCann does not rule out the possibility of a reconciliation in the future, concluding, “I am sure that if they don’t succeed we will welcome them back like the prodigal son.”