Snott

Category: Linux

Linux Related stuff, system administration, installation tutorials and more

  • Docky in ArchLinux does not launch anymore after a system upgrade

    Docky in ArchLinux does not launch anymore after a system upgrade

    Docky LogoIf you, like me, use docky for managing your windows and launching your applications, you should have noted that recently an ArchLinux update broke docky because it installed a newer version of mono that docky doesn’t like. Anyways, here is how to fix it.

    This is the error when trying to launch docky:

    [1111@MNAME ~]$ docky
    Could not load file or assembly 'Mono.GetOptions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
    
    Unhandled Exception: System.TypeLoadException: Could not load type 'Docky.Docky' from assembly 'Docky, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null'.

    You can just recompile the package the usual way, but the best and easiest way to do it is to use the ABS (Arch Build System). If you already have ABS installed you can safely skip to the “Compiling docky using ABS” part. Here is a step by step guide:

    To install ABS:

    sudo pacman -S abs

    Also you will need some compiling tools, install with:

    sudo pacman -S base-devel

    Next edit /etc/abs.conf to have the desired repos fetched

    sudo nano /etc/abs.conf

    Make sure that the last line is uncommented, if you don’t want to fetch some repo, just add a ! in front of its name and you should be good to go, I would recommend fetching all of them, it doesn’t take much space (entire tree is like 56mb uncompressed, about 18mb download) and it is really handy.

    Next, download the abs tree:

    sudo abs

    Your ABS tree is now created under /var/abs. Note the appropriate branches of the ABS tree now exist and correspond to the ones you specified in /etc/abs.conf.

    The abs command should be run periodically to keep in sync with the official repositories.

    Next thing you have to do is create a build directory, a folder on your home

    mkdir -p $HOME/abs

    There you will compile the files you need for getting docky to work.

    Now that ABS is installed and correctly configured, we can get on to:

    Compiling Docky using ABS:

    docky package its in community so we need to copy those files to our pc:

    cp -r /var/abs/community/docky $HOME/abs

    and change directory to $HOME/abs:

    cd ~/abs/docky

    now run:

    makepkg -s

    NOTE: DON’T ever do “sudo makepkg -s” be sure to run it as a normal user or else you could end up breaking your system.

    This will compile the package, wait for it to finish and then install it using pacman:

    sudo pacman -U slim-1.3.0-2-i686.pkg.tar.xz

    now test docky, everything should be working now :D

    Any questions leave it in the comments.

    Thanks for reading!

    NOTE: I’m leaving this here just for reference purposes or If you encounter a similar issue in the future, as of now, this isn’t needed anymore because the appropriate changed have been made on the Arch Linux packages

  • Tips to learn command-line in Linux

    Tips to learn command-line in Linux

    command line interface icon

    This post is intended to instruct Linux users to get on the right track to begin using the command line effectively by providing some guidance in the learning process. This is the way I learnt on how to use the CLI and have worked for me every time.

    First things first, NEVER EVER uninstall your GUI (Graphical user interface) if you aren’t comfortable with the CLI, because if you do and you get stuck doing something then you wont have a fallback method and will become frustrated and probably give up.

    Also its important to note that when you start to notice that people on forums tend to give you instructions/help via CLI commands then you start to understand things and you feel better using the CLI. I started with Ubuntu  and all GUI versions of programs, and have slowly worked my way to have a perfectly working file server at work (using ubuntu server, CLI only) and a perfectly working arch for my Laptop. Pretty much all system maintenance is done via CLI.

    Here are some simple steps with simple tasks to get started:

    Learn the most basic commands first (cp, mv cat, reboot, poweroff, man, ls) and get comfortable using them

    The above commands are critical on any Linux system, It doesn’t matter what distro you use, all this commands will be available and MUST be learned if you want to be GUI free.

    – cp is for copying files

    – mv is to move files

    – cat is for concatenating files and print on the standard output

    – reboot, well, the command name pretty much says everything you need to know

    – poweroff turn off the machine

    – man is for watching man pages (descriptions of swicthes for an specific command and how to use them)

    – ls is to view files and folders structure

    Choose some widely used tools and learn how to work with them

    Applications like nano or vi for text editors (nano it’s very easy to use, vi is more advanced).

    You can learn to use vi by using the included tutorial just type “vimtutor”  and you will get a full tutorial explaining it step by step on how to master it.


    Every time you need to update/remove a package, do it via your package manager CLI commands

    -On Ubuntu you can use apt-get to do this

    -On Arch Linux its pacman

    -On Mandriva is urpmi

    And so on, package upgrade/removal is done a LOT faster if you know the CLI commands

    Make extensive use of the man command

    It gives all the required info to know what you are doing, for example if you are going to use pacman but don’t know what the commands are just  type “man pacman” works with 99% of applications. Also you can use the –help parameter (ie, pacman –help) to give you a brief description of commands.

    the –help and man commands are the most useful and will make you learn fast.

    If you follow this steps you will (probably without noticing) use CLI more often than GUI to do stuff.