<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Saleem Ansari</title>
    <link>/tags/linux/</link>
    <description>Recent content in Linux on Saleem Ansari</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>(c) 2024 Saleem Ansari</copyright>
    <lastBuildDate>Thu, 31 Jan 2019 00:00:27 +0530</lastBuildDate>
    <atom:link href="/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SSL VPN Client on Linux</title>
      <link>/2019/01/31/ssl-vpn-client-on-linux/</link>
      <pubDate>Thu, 31 Jan 2019 00:00:27 +0530</pubDate>
      <guid>/2019/01/31/ssl-vpn-client-on-linux/</guid>
      <description>Using SSL VPN Client on Linux</description>
    </item>
    <item>
      <title>Check memory limit on a server</title>
      <link>/2014/11/14/check-memory-limit-on-a-server/</link>
      <pubDate>Fri, 14 Nov 2014 21:02:13 +0530</pubDate>
      <guid>/2014/11/14/check-memory-limit-on-a-server/</guid>
      <description>This is a simple C program to check memory limit on a server.&#xA;#include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; int main(int argc, char* argv[]) { const int KB = 1024; /* bytes */ const int MB = 1024 * KB; /* bytes */ const int GB = 1024 * MB; /* bytes */ long size = 0; void *p = NULL; int ctr; int j; int times = 100000; long sum = 0; for(ctr = 0; ctr &amp;lt; times; ctr ++ ) { size = 10 * MB; printf(&amp;#34;Allocating %zu bytes memory \n&amp;#34;, size); p = calloc(1, size); if(p !</description>
    </item>
    <item>
      <title>Single window mode in Pidgin messenger using window_merge plugin</title>
      <link>/2014/08/12/single-window-mode-in-pidgin-messenger-using-window_merge-plugin/</link>
      <pubDate>Tue, 12 Aug 2014 23:53:12 -0700</pubDate>
      <guid>/2014/08/12/single-window-mode-in-pidgin-messenger-using-window_merge-plugin/</guid>
      <description>I wanted to view all the different chat windows and the buddy list side by side in a single window. There is no such feature in stock Pidgin installation. Fortunately I found a plugin for same from this ticket.&#xA;This plugin is available on Github project dm0-/window-merge ( thanks to David Michael / dm0- for creating it ! ).&#xA;You can find the build / install instructions on the wiki, however here is how you can do it on Ubuntu 14.</description>
    </item>
    <item>
      <title>Generation and Visualization of Phylogenetic Trees</title>
      <link>/2014/08/04/generation-and-visualization-of-phylogenetic-trees/</link>
      <pubDate>Mon, 04 Aug 2014 18:19:20 -0700</pubDate>
      <guid>/2014/08/04/generation-and-visualization-of-phylogenetic-trees/</guid>
      <description>In the year 2006, I had created a project as a part of my academics. I finally managed to find the source code and complete project report which I have uploaded to Github. Mainily, I have updated the source code to use cmake build tool. The project documentation is in Asciidoc. Although it is quite an old piece of code, it works:&#xA;plyloviz &amp;ndash; Phylogenetic Trees Visualization phyloviz: phyloviz is Phylogenetic Trees Visualization tool.</description>
    </item>
    <item>
      <title>How to configure &#39;is not responding&#39; window timeout in GNOME?</title>
      <link>/2014/07/15/how-to-configure-is-not-responding-window-timeout-in-gnome/</link>
      <pubDate>Tue, 15 Jul 2014 07:49:35 -0700</pubDate>
      <guid>/2014/07/15/how-to-configure-is-not-responding-window-timeout-in-gnome/</guid>
      <description>Everytime I load a heavy application such as Eclipse or Thunderbird, I see this annoying message which keeps repeating even if I press &amp;ldquo;Wait&amp;rdquo;.&#xA;&amp;quot;Eclipse&amp;quot; is not responding. You may choose to wait a short while for it to continue or force the application to quit entirely. [Force Quit] [Wait] I tried to search for a solution and found that the question is unanswered in both Ubuntu forum as well as Fedora forum.</description>
    </item>
    <item>
      <title>YouTube World Cup 2014 videos not showing in your region?</title>
      <link>/2014/06/12/youtube-world-cup-2014-videos-not-showing-in-your-region/</link>
      <pubDate>Thu, 12 Jun 2014 23:43:56 -0700</pubDate>
      <guid>/2014/06/12/youtube-world-cup-2014-videos-not-showing-in-your-region/</guid>
      <description>I was using Chromium Browser on Linux, to see World Cup 2014 videos on YouTube. Some videos were not available in my region because of restrictions by region. If you are also seeng the same message, the you may want to setup a SOCKS proxy, and use that to bypass the YouTube restriction. For this to work, you need an SSH server what is located in some region from where you can access such videos.</description>
    </item>
    <item>
      <title>Creating Desktop Shortcuts for Scala IDE on Linux</title>
      <link>/2014/06/10/creating-desktop-shortcuts-for-scala-ide-on-linux/</link>
      <pubDate>Tue, 10 Jun 2014 02:18:11 -0700</pubDate>
      <guid>/2014/06/10/creating-desktop-shortcuts-for-scala-ide-on-linux/</guid>
      <description>Download the Scala IDE from here, unzip it at ~/software/scala-eclipse, such that the contents look as follows:&#xA;$ pwd /home/saleem/software/scala-eclipse $ ls artifacts.xml configuration eclipse eclipse.ini epl-v10.html features icon.xpm META-INF notice.html p2 plugins readme Create a launcher script for Scala IDE /bin/scala-ide, and make it executable:&#xA;$ cat /bin/scala-ide #!/bin/bash /home/saleem/software/scala-eclipse/eclipse $ chmod +x /bin/scala-ide Configure launcher icon ~/.local/share/applications/scala-ide.desktop. You can copy a config file from /usr/share/applications/ directory and make changes as follows:</description>
    </item>
    <item>
      <title>Remote Desktop from a Linux client machine</title>
      <link>/2013/08/07/remote-desktop-from-a-linux-client-machine/</link>
      <pubDate>Wed, 07 Aug 2013 00:00:00 +0000</pubDate>
      <guid>/2013/08/07/remote-desktop-from-a-linux-client-machine/</guid>
      <description>Connecting to Remote Desktop from Linux machine is easy. Invoke the following command&#xA;rdesktop -r sound=local -r clipboard:CLIPBOARD -z -g &amp;#39;80%&amp;#39; -a 15 -u user.name -p - -d MYDOMAIN remote.hostname.com Above command does the following:&#xA;Thats it!&#xA;EDIT: Updated the explanation in the order of CLI options to the rdesktop command.</description>
    </item>
    <item>
      <title>Contiuned: Juniper Networks VPN from Fedora 64bit</title>
      <link>/2013/07/30/contiuned-juniper-networks-vpn-from-fedora-64bit/</link>
      <pubDate>Tue, 30 Jul 2013 00:00:00 +0000</pubDate>
      <guid>/2013/07/30/contiuned-juniper-networks-vpn-from-fedora-64bit/</guid>
      <description>This post is the continuation of my earlier post about Juniper VPN.&#xA;In the earlier post, I connected to VPN using a login/password/certification combination. Now I also managed to use the ncui tool for the connection which is based on a cookie value and a certificate. I wasn&amp;rsquo;t able to connect to this configuration using the method in my previous post.&#xA;$ ./ncui -h vpn.example.com -c DSID=&amp;#34;YOUR_DSID_COOKIE&amp;#34; -f vpn.example.com-cert.der Password: &amp;lt;ENTER SUDO PASSWORD HERE&amp;gt; Here, first you need to login to your vpn domain from a web-browser.</description>
    </item>
    <item>
      <title>Juniper Networks VPN from Fedora 17 x86_64</title>
      <link>/2013/07/04/juniper-networks-vpn-from-fedora-17-x86_64/</link>
      <pubDate>Thu, 04 Jul 2013 00:00:00 +0000</pubDate>
      <guid>/2013/07/04/juniper-networks-vpn-from-fedora-17-x86_64/</guid>
      <description>I had to use Juniper VPN but apparently it doesn&amp;rsquo;t work well from Linux machines. To complicate the matter even more the underlying VPN software is 32 bit, but I am running a 64bit OS.&#xA;I have outlined the setup steps here:&#xA;Although all these steps are specifically for Fedora 17/18 x86_64 bit OS, it should be easy to connect from Ubuntu machines too.&#xA;I hope it helps you.&#xA;EDIT:</description>
    </item>
    <item>
      <title>Setting up NAT and MASQUERADE for sharing USB Tether connection over LAN</title>
      <link>/2013/05/14/setting-up-nat-and-masquerade-for-sharing-usb-tether-connection-over-lan/</link>
      <pubDate>Tue, 14 May 2013 00:00:00 +0000</pubDate>
      <guid>/2013/05/14/setting-up-nat-and-masquerade-for-sharing-usb-tether-connection-over-lan/</guid>
      <description>I the only source of Internet connection I have currently is my phone. I wanted to share this network with other systems, via a lan/wireless router. So here is a basic setup:&#xA;Android Phone with USB Tethering Laptop ( Fedora 18 ) Wireless Router with Lan A desktop machine ( Fedora 17 ) Setting up Internet gateway: Laptop + Android Phone&#xA;I connected Android Phone via USB cable to the laptop and enabled USB thether, so I have a usb device /dev/usb0.</description>
    </item>
    <item>
      <title>Memory consumption by a .so file for a running process</title>
      <link>/2012/12/06/memory-consumption-by-a-.so-file-for-a-running-process/</link>
      <pubDate>Thu, 06 Dec 2012 00:00:00 +0000</pubDate>
      <guid>/2012/12/06/memory-consumption-by-a-.so-file-for-a-running-process/</guid>
      <description>I wanted to know how much memory is consumed by C++ standard library for a process running on Linux. There is no straightforward way I could find so I have written a small script to do exactly that.&#xA;Script Location: https://gist.github.com/4215536&#xA;How to use?&#xA;$ wget https://raw.github.com/gist/4215536/6ae899f454fd72ba3b6202724e15f855f80e33b3/mem-usage.rb $ ruby ./mem-usage.rb /proc/5952/maps | grep libstd /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16: 2988.0 KBs In the above example, 5952 is the PID of Thunderbird mail client and C++ standard library consumes 2988 KB of memory for this process.</description>
    </item>
    <item>
      <title>Symlink loop is still an unsolved problem</title>
      <link>/2011/12/10/symlink-loop-is-still-an-unsolved-problem/</link>
      <pubDate>Sat, 10 Dec 2011 00:00:00 +0000</pubDate>
      <guid>/2011/12/10/symlink-loop-is-still-an-unsolved-problem/</guid>
      <description>How do I dereference a symbolic link?&#xA;$ ls -l /usr/bin/java lrwxrwxrwx. 1 root root 22 Jul 20 2010 /usr/bin/java -&amp;gt; /etc/alternatives/java $ ls -l /etc/alternatives/java lrwxrwxrwx. 1 root root 30 Aug 9 2010 /etc/alternatives/java -&amp;gt; /usr/java/jdk1.6.0_20/bin/java $ ls -l /usr/java/jdk1.6.0_20/bin/java -rwxr-xr-x. 1 root root 50810 Apr 13 2010 /usr/java/jdk1.6.0_20/bin/java Lets create a chain of symbolic links:&#xA;mkdir /tmp/symlink cd /tmp/symlink echo &amp;#34;this is a test file&amp;#34; &amp;gt; abc.txt ln -s abc.</description>
    </item>
    <item>
      <title>How to resize a VM and its partitions?</title>
      <link>/2011/11/29/how-to-resize-a-vm-and-its-partitions/</link>
      <pubDate>Tue, 29 Nov 2011 00:00:00 +0000</pubDate>
      <guid>/2011/11/29/how-to-resize-a-vm-and-its-partitions/</guid>
      <description>In this post I am going to list the steps to resize a Virtual Machine image created using virt-install&#xA;There are three steps:&#xA;Resize the VM image Resize the LVM volume inside the VM ( both physical volume and logical volume ) Resize the filesystem on the LVM volume First locate where the image for your VM is stored.&#xA;# virsh dumpxml vm2 | xpath /domain/devices/disk/source Found 1 nodes: -- NODE -- &amp;lt;source file=&amp;#34;/export/vmimgs/vm2.</description>
    </item>
    <item>
      <title>zif - Package management done faster</title>
      <link>/2011/11/24/zif-package-management-done-faster/</link>
      <pubDate>Thu, 24 Nov 2011 00:00:00 +0000</pubDate>
      <guid>/2011/11/24/zif-package-management-done-faster/</guid>
      <description>On Fedora 16, I used zif. zif is an alternative to yum and its fast!&#xA;How to setup zif? So easy: sudo yum install zif zif-tools&#xA;All set!&#xA;Search for packages using zif:&#xA;sudo zif search mongodb Do a offline serach ( like cached -C in yum ):&#xA;sudo zif search -o mongodb Install packages using zif:&#xA;sudo zif install mongodb-server mysql-server Update all packages:&#xA;sudo zif update And if you feel like canceling the operation using Ctrl+C, it happens almost instantaneously!</description>
    </item>
    <item>
      <title>How to setup multiple monitors on Xfce desktop?</title>
      <link>/2011/11/17/how-to-setup-multiple-monitors-on-xfce-desktop/</link>
      <pubDate>Thu, 17 Nov 2011 00:00:00 +0000</pubDate>
      <guid>/2011/11/17/how-to-setup-multiple-monitors-on-xfce-desktop/</guid>
      <description>How to setup multiple monitors on Xfce desktop?&#xA;I just followed the instructionson Xorg RandR 1.2 wiki - http://www.thinkwiki.org/wiki/Xorg_RandR_1.2&#xA;Lets find out how many monitors we have connected?&#xA;$ xrandr -q Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm 1280x800 60.0*+ 50.0 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 connected (normal left inverted right x axis y axis) 1680x1050 60.</description>
    </item>
    <item>
      <title>cat /dev/watchdog reboots the system!</title>
      <link>/2010/10/11/cat-/dev/watchdog-reboots-the-system/</link>
      <pubDate>Mon, 11 Oct 2010 00:00:00 +0000</pubDate>
      <guid>/2010/10/11/cat-/dev/watchdog-reboots-the-system/</guid>
      <description>I was surprized to find that following command reboots my Fedora 13 x86_64 system:&#xA;cat /dev/watchdog Wait for around 30-50 seconds and Linux reboots! This happens even with a non-root user.&#xA;Then I googled it&#xA;I found this is a pretty interesting thread on the subject. Bottom line is&#xA;It&amp;rsquo;s a watchdog device, it&amp;rsquo;s meant to reboot the machine if whatever task is poking the watchdog dies.&#xA;So consider that in any installation if /dev/watchdog support is present in the default Linux kernel and the file has read permission to all users.</description>
    </item>
    <item>
      <title>Installing TOra on Fedora 12</title>
      <link>/2010/04/27/installing-tora-on-fedora-12/</link>
      <pubDate>Tue, 27 Apr 2010 00:00:00 +0000</pubDate>
      <guid>/2010/04/27/installing-tora-on-fedora-12/</guid>
      <description>Installing TOra( http://torasql.com/about ) for MySQL on Fedora 12&#xA;Get the Fedora 12 RPM package tora-2.1.2-1.fc12.x86_64.rpm from http://sourceforge.net/projects/tora/files/&#xA;Download oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm from Oracle&amp;rsquo;s website http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxx86_64soft.html&#xA;$ sudo yum install qscintilla $ sudo yum install qt-mysql $ sudo yum localinstall --nogpgcheck oracle-instantclient11.2-$ basic-11.2.0.1.0-1.x86_64.rpm $ cd /usr/lib/oracle/11.2/client64/lib/ $ sudo ln -s libclntsh.so.11.1 libclntsh.so $ sudo yum localinstall --nogpgcheck tora-2.1.2-1.fc12.x86_64.rpm Now tell linker to find oracle client libraries:&#xA;$ export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/ Run tora&#xA;$ tora </description>
    </item>
    <item>
      <title>How does live linux disk work without any swap for applications bigger than available RAM?</title>
      <link>/2009/12/14/how-does-live-linux-disk-work-without-any-swap-for-applications-bigger-than-available-ram/</link>
      <pubDate>Mon, 14 Dec 2009 00:00:00 +0000</pubDate>
      <guid>/2009/12/14/how-does-live-linux-disk-work-without-any-swap-for-applications-bigger-than-available-ram/</guid>
      <description>How does live linux disk work without any swap for applications bigger than available RAM? This question has occurred to me a lot of times. In the normal scenario I configure enough swap space on the harddis for my GNU/Linux installation. It looks clear that whenever a new request for memory is made by an application, the Linux kernel (OS) gives that request by swapping out a page into swap space ( when there wasn&amp;rsquo;t enought space available in RAM).</description>
    </item>
  </channel>
</rss>
