Archlinux

From Hack Sphere Labs Wiki
Revision as of 08:41, 16 November 2011 by Webdawg (talk | contribs) (How I did It: Mount under {{Filename|/media}}; use partition label if present)

Jump to: navigation, search

USB Automount Thunar-Udisks-GVFS

I use Archlinux on a few of my desktop machines. I use XFCE and am for the most part satisfied. The one problem that I have with XFCe is thunar-volman and the fact that one cannot pass mount options to the devices that you mount via the GUI. Even when I set the device up for automount through thunar-volman I cannot find a place to pass my command line options. It seems that thunar-volman uses a combination of gvfs and udisks to mount the disks. To fix this I tried a number of solutions autofs was my first try and for the most part seemed to work. The only problem is that it was not interacting with udisks or gvfs really. I may have been able to pass some options to the autofs mount command and get it to interact with gvfs but I did not explore that option. After quite a few people telling me that autofs was buggy and outdated anyways (I was having problems too) I decided to see if I could get thunar-volman to mount right.

I could not do it and instead of messing about with thunar-volman any more I decided just to have devmon taken out of the archlinux aur to do the automount work for me. It automounts, and I think that it was passing the options that I wanted. The instructions for using devmon are here: https://wiki.archlinux.org/index.php/Udev#Automounting_UDisks_Wrappers and the devmon site is here http://igurublog.wordpress.com/downloads/script-devmon/

I stopped playing with devmon because it did not look like it was passing the --mount-options that I wanted.

So screw everything above. I used a combinition of udev and udisks to automount the sticks and pass the async command.

How I did It: Mount under /media; use partition label if present

The following udev rule set automatically mounts devices/partitions that are represented by /dev/sd* (USB drives, external hard drives and sometimes SD cards). If a partition label is available, it mounts the device to /media/<label> and otherwise to /media/usbhd-sd* (ex: /media/usbhd-sdb1):

Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.

The above file needs whatever options you would like to add to it.

This is my file:

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,async"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002,async"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options},async /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

I think I put one to many asyncs but at the moment...whatever.

You need to restart udevd with:

udevadm control --reload-rules


Resources:

Office 2007

Install

(10.25.11)

This works great:

From forum post: https://bbs.archlinux.org/viewtopic.php?id=86436

Note: You should never run wine commands as root. Run it as your user.

...to get office 2007 working for me I installed bin32-wine, winetricks and then ran:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
and set windows to xp and then ran:
Note: See winetricks section below!!!
$ WINEPREFIX=~/win32 winetricks msxml3  gdiplus riched20 riched30 vcrun2005sp1 allfonts
$ WINEPREFIX=~/win32 wine setup.exe
and then to actually use any of the executables you must cd to the directory. IE:
$ cd ~/win32/drive_c/Program Files/Microsoft Office/Office12
$ WINEPREFIX=~/win32 wine ./EXCEL.EXE

You could set WINEPREFIX in your bash_profile, or make 32bit wine your default (then you only have to do WINEARCH=win32 winecfg). Anyway the two main problems I had were accidentally emulating 64bit (I know Wine Is Not Emulation) windows instead of 32 bit. Also I found that the programs hang if I didn't cd into the directory, probably because the dlls are linked with the local directory. Anyway everything works this way.

Note: I did not have to run via command or script like the guy does though. To execute the software I could just open it from the applicaiton menu.

Office 2k7 SP2

Download from: http://www.microsoft.com/download/en/confirmation.aspx?id=5

Install with:

WINEPREFIX=~/win32 wine office2007sp2-kb953195-fullfile-en-us.exe

Winetricks

The droid font downloader in winetricks is broken. The url is part of the google git project atm. Either the maintainer of winetricks will update or kernel.org will change. I just chose to remove the droid font install from the winetricks script. I think you could create a .netrc file with password information in it but I did not test it or do it this way.

If you visit: http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/ and generate a password in a webbrowser then put it in ~/.netrc , then run the script without comments...might work.

This is what I did:

sudo nano -w /usr/bin/winetricks

Search for: do_droid You should see this:

do_droid() {
    w_download ${DROID_URL}$1';hb=HEAD'   $3  $1
    w_try cp -f "$W_CACHE"/droid/$1 "$W_FONTSDIR_UNIX"
    w_register_font $1 "$2"
}
load_droid()
{
    # See http://en.wikipedia.org/wiki/Droid_(font)
    DROID_URL='http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/'
    do_droid DroidSans-Bold.ttf        "Droid Sans Bold"         560e4bcafdebaf29645fbf92633a2ae0d2f9801f
    do_droid DroidSansFallback.ttf     "Droid Sans Fallback"     64de2fde75868ab8d4c6714add08c8f08b3fae1e
    do_droid DroidSansJapanese.ttf     "Droid Sans Japanese"     b3a248c11692aa88a30eb25df425b8910fe05dc5
    do_droid DroidSansMono.ttf         "Droid Sans Mono"         133fb6cf26ea073b456fb557b94ce8c46143b117
    do_droid DroidSans.ttf             "Droid Sans"              62f2841f61e4be66a0303cd1567ed2d300b4e31c
    do_droid DroidSerif-BoldItalic.ttf "Droid Serif Bold Italic" b7f2d37c3a062be671774ff52f4fd95cbef813ce
    do_droid DroidSerif-Bold.ttf       "Droid Serif Bold"        294fa99ceaf6077ab633b5a7c7db761e2f76cf8c
    do_droid DroidSerif-Italic.ttf     "Droid Serif Italic"      bdd8aad5e6ac546d11e7378bdfabeac7ccbdadfc
    do_droid DroidSerif-Regular.ttf    "Droid Serif"             805c5f975e02f488fa1dd1dd0d44ed4f93b0fab4
}

Comment it out with:

#do_droid() {
#    w_download ${DROID_URL}$1';hb=HEAD'   $3  $1
#    w_try cp -f "$W_CACHE"/droid/$1 "$W_FONTSDIR_UNIX"
#    w_register_font $1 "$2"
#}
#load_droid()
#{
#    # See http://en.wikipedia.org/wiki/Droid_(font)
#    DROID_URL='http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/'
#
#    do_droid DroidSans-Bold.ttf        "Droid Sans Bold"         560e4bcafdebaf29645fbf92633a2ae0d2f9801f
#    do_droid DroidSansFallback.ttf     "Droid Sans Fallback"     64de2fde75868ab8d4c6714add08c8f08b3fae1e
#    do_droid DroidSansJapanese.ttf     "Droid Sans Japanese"     b3a248c11692aa88a30eb25df425b8910fe05dc5
#    do_droid DroidSansMono.ttf         "Droid Sans Mono"         133fb6cf26ea073b456fb557b94ce8c46143b117
#    do_droid DroidSans.ttf             "Droid Sans"              62f2841f61e4be66a0303cd1567ed2d300b4e31c
#    do_droid DroidSerif-BoldItalic.ttf "Droid Serif Bold Italic" b7f2d37c3a062be671774ff52f4fd95cbef813ce
#    do_droid DroidSerif-Bold.ttf       "Droid Serif Bold"        294fa99ceaf6077ab633b5a7c7db761e2f76cf8c
#    do_droid DroidSerif-Italic.ttf     "Droid Serif Italic"      bdd8aad5e6ac546d11e7378bdfabeac7ccbdadfc
#    do_droid DroidSerif-Regular.ttf    "Droid Serif"             805c5f975e02f488fa1dd1dd0d44ed4f93b0fab4
#}

Save then execute the command from the installation section.

USB Device Automount

autofs works but is buggy and outdated.