Category: Computer

Vim: Switching All Text to lower case

One of the beauty of Vi (and Vim) is that with a few key combinations, you can control editing the entire text, a few words/lines, or few letters.

Disclaimer:
The information below is the result of my researches in the Internet and of my experiences. It is solely used for my purpose and may not be suitable for others.

Here is the key combination to switch all text to lower case: ggVGu

gg - Move to the beginning of the file.
V - Visual mode.
G - Select all text.
u - Switch to lower case.

Here is with search and replace function for entire file: :%s/[A-Z]/\L&/g

Lastly, doing so for single letter: ~

That's a tilde or squiggly.

That's all!
-gibb

Slackware64: Qemu, KVM and Spice

On the other day, I wrote a bit about qemu-kvm and virt-manager. After the installation and configuration, I fired up virt-manager and Windows XP guest. Hmm... mouse movement is sluggish, moving a window leaves afterimage, and frequent freeze-up. Also, the sound doesn't seem to be working. A big disappointment.

With more digging, I found Spice. Spice (Simple Protocol for Independent Computing Environments) offers high-quality remote access to QEMU virtual machines. It's much like vnc, and is said to handle the sound better. Hmm... it sounds interesting and what's there to lose?

Disclaimer:
The information below is the result of my researches in the Internet and of my experiences. It is solely used for my purpose and may not be suitable for others.

Installation:

First of all, download the spice package and its dependencies from SlackBuils.org and install them.

Creating a VM and installing Windows XP:

Prepare a virtual disk $ qemu-img create -f raw winxpvm.img 15G

Install VM enabling Spice $ virt-install \ --connect=qemu:///system \ (Use Qemu) --name=winxpvm \ (Domain name) --ram=1024 \ (Allocate 1024MB for memory) --vcpus=1 \ (Number of virtual CPUs) --os-type=windows \ (Type of OS is Windows) --os-variant=winxp \ (OS Variant is Windows XP) --hvm \ (Use full virtualization) --virt-type=kvm \ (Hypervisor to install) --cdrom=/[path_to_windows_installation_iso] \ (Virtual CD-ROM device) --disk path=/[path_to_winxpvm.img] \ (Path to storage media) --graphics spice,port=9500,listen=127.0.0.1 \ (Use Spice protocol, port number and address to listen to) --video=qxl \ (Video device. Use 'qxl' for Spice) --channel spicevmc \ (Use spicevmc channel) --soundhw ac97 \ (Attach a virtual audio device. Use 'ac97' for Spice) --accelerate (Use KVM or KQEMU in this order)

Now open another console and type the following command $ spicec -h 127.0.0.1 -p 5900 -t winxpvm

By executing above command, it opens up another window with XP Installation.
spice_winxp_install

Spice Guest Tools for Windows:

On Windows guest system, go to Spice Download page and download Spice Guest Tools for Windows guest for better performance and integration with Spice.

Additional binaries can be downloaded from http://www.spice-space.org/download/binaries/

PolicyKit Setup:

PolicyKit allows for more flexible, fine grained access control to the libvirt virtualization layer. Since I wanted a regular user, me!, to be able to execute the virsh command, I configured PolicyKit.

That's all!
-gibb

slackware64: Installing qemu-kvm and virt-manager

I've been using VirtualBox for a while on my slackware box. It's been working ok but I recently read a couple of blogs/articles recommending KVM. They said that KVM is rapidly becoming the de facto standard for open source visualization. Interesting. So, I gave a shot with qemu-kvm with libvirt (for GUI).

Disclaimer:
The information below is the result of my researches in the Internet and of my experiences. It is solely used for my purpose and may not be suitable for others.

Terminology:

libvirt
libvirt allows management of different virtualization solutions such as KVM and Xen through a common (programming and user) interface.
virt-manager
A graphical virtual machine manager
KVM (Kernel Virtual Machine)
KVM provides full virtualisation and can run unmodified Linux or Windows images, but it requires CPU virtualisation extensions (Intel VT or AMD-V).
Qemu
Qemu functioning as a userspace, software-only emulation package. It can be used standalone (that is, it does not require a special kernel module, or CPU virtualisation extensions, or a hypervisor layer) and is capable of running unmodified operating system images.

Prerequisite:

The CPU needs to support virtualization in order to take advantage of qemu-kvm. To check, execute below command: $ egrep -c '(vmx|svm)' /proc/cpuinfo

If the CPU supports virtualization, you should get a non-zero value.

Or, as Daniel Berrange suggested, virt-host-validate to validate host virtualization setup: # virt-host-validate qemu QEMU: Checking for hardware virtualization: PASS QEMU: Checking for device /dev/kvm : PASS QEMU: Checking for device /dev/whost-net : PASS QEMU: Checking for device /dev/net/tun : PASS

Installation and Post-Configurations:

Install qemu-kvm, libvirt, virt-manager and their dependencies from SlackBuilds.org.

There are a few notes for post-configuration:

  • Configure libvirt for user group and permission:
    Create a group called libvirt and assign a regular user to it. Then, uncomment unix_sock_group and unix_sock_rw_perms from /etc/libvirt/libvirtd.conf # groupadd libvirt # gpasswd -a USER libvirt # vim /etc/libvirt/libvirt.conf ----------------------------------------- unix_sock_group = "libvirt" unix_sock_ro_perms = "0770" unix_sock_rw_perms = "0770"
  • Default user group for kvm:
    The qemu-kvm SlackBuild patches the installed udev rules so that you no longer are required to use the system group kvm as the default. The users group is set as the default
  • Start the libvirt daemon at boot:
    To start the ibvirt daemon at boot, add a following piece of code to /etc/rc.d/rc.local # vim /etc/rc.d/rc.local ---------------------------------------- # Start libvirt: if [ -x /etc/rc.d/rc.libvirt ]; then /etc/rc.d/rc.libvirt start fi

Now Virtual Machine Manager (VMM) can be executed via: $ virt-manager

That's all!
-gibb

Slackware64: Configuring IBus

A Happy New Year!
This is the first blog entry in 2013.

I have been using "scim" for Japanese input since I started using slackware. It's an ok input method framework, but I always felt a bit uncomfortable for some reasons. So, I looked for another option and found IBus. It looks like this framework will be replacing scim in the near future. So, I decided to give it a try.

Disclaimer:
The information below is from Linuxquestions.org and some tweaking. It is solely used for my purpose and may not be suitable for others.

First, install ibus, pyxdg, ibus-anthy, and ibus-qt from SlackBuilds.
Then, create a directory and a file in it: # mkdir /etc/X11/xinit/xinput.d # vim /etc/X11/xinit/xinput.d/ibus.conf --------------------------------------------- #!/bin/sh export XMODIFIERS="@im=ibus" export GTK_IM_MODULE="ibus" export QT_IM_MODULE="xim" # allow capslock remap xmodmap -e 'clear Lock' -e 'keycode 66 = F13' XIM=ibus XIM_PROGRAM=/bin/true XIM_ARGS= SHORT_DESC="ibus" LONG_DESC="ibus"

Then, create a symlink to ~/.xinputrc: $ ln -s /etc/X11/xinit/xinput.d/ibus.conf ~/.xinputrc

Add following statement in the autostart file (~/.config/openbox/autostart): ibus-daemon -rxd &

Log out and log back in. There should be a keyboard icon in the system tray. Now, move onto its configuration.

Run ibus-setup: $ ibus-setup

This command brings up the IBus Preferences window: General->Next input method: "Shift+Meta_L" Input Method->Select and input method->Japanese->Anthy Advanced->(check) Share the same input method among all applications

That's all!
-gibb