Tech Notes, Tips & Reviews

Setting Windows File Associations in Wine

May 222012

WineAssocWine Association Creator

When running an application in Wine recently I noticed that if my application wanted to open a Word document or Excel spreadsheet it failed because Office isn't installed in Wine, even though I had LibreOffice installed natively in Linux. The same goes for PDF documents which fail because I don't have Adobe Reader Installed, I have Okular already installed in Linux.

When searching the net for a solution all I came across were registry edits and a couple of command line scripts. So I decided to write a simple application in Qt/C++ to make the process easier.

After downloading WineAssoc simply double click on the file (you may need to make it executable first) or from a console run ./WineAssoc in the directory you downloaded into. You will be presented with a window as shown here in the screenshot. Simply select which file extensions you wish to associate to native Linux applications and then click Add >> to move them to the right hand column. When you have selected all the required types, click Apply. Note that WineAssoc honours the WINEPREFIX setting and will prompt for confirmation before proceeding.

The extension list is populated using Linux config files, with a few extras added in. If by chance your extension is not shown you can start WineAssoc from the console specifying extra extensions manually. For example ./WineAssoc abc def would add abc & def to the association list. You can also hover your mouse over an extension type to show what programs are associated to that type.

The program should run on most Linux systems that have Qt 4.8 or later. Please let me know if you have problems with a particular distro and Ill try to look into it.

 Download WineAssoc using the link below:

Find this utility useful? Leave a comment or consider a purchase from our website.

undefined

WineAssoc is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

MinAmp – Pandora Music Player

May 142011

undefinedMinAmp for Pandora

Introducing MinAmp for Pandora (and desktop Linux), a minimal music player mainly designed for use as a car player. This is my first application for the Pandora. Actually it’s my first C++/SDL application. Feed free to provide feedback on this application, you can also suggest changes and features requests.

On first run MinAmp will look for the Music directory on your mounted SD cards (either “music” or “Music”). If running on desktop Linux it will look for music or Music in your home directory. If this fails to find your music for some reason you can manually edit the "minamp.conf" file but hopefully this won’t be necessary in most cases.

I have assumed that your music directory is organised so that each artist is in its own directory with each album below that in it’s own directory. In each Album directory you can have a "cover.jpg" with the album cover art. If this doesn’t suit you I’m sorry, I may entertain alternate layouts but may need some incentive ;)

At present I support the MP3, OGG & FLAC file formats, I tried WMA but track length and reliability issues made me take it out. Audio output can be sent to the default, digital (SPDIF) or Bluetooth outputs. Bluetooth on the Pandora may require modifying the .asoundrc file and has had limited testing (See the forums).

Controls:

  • The touchscreen is active, and hopefully fairly obvious in operation.
  • Click an Album cover to play that album.
  • Click on the progress bar to jump within the current track.
  • Shoulder buttons are Previous/Next track, very sensitive at the moment (probably not good for jogging but works for cycling).
  • Press a letter “a” to “z” to seek to the albums that start with that letter (ie “c” for Coldplay).
  • Left/Right Arrows (Nub) to move the album list left and right.
  • Up/Down Arrows (Nub) are Previous/Next track.
  • Enter plays the Album in the center of the list.
  • ESC exits the player (Also clicking on the X on the screen).
  • HOME (or “A” button on Pandora) goes to beginning of Album List.
  • END (or “B” button on Pandora) goes to end of Album List.
  • SPACE is used to pause or un-pause the current track.
  • BACKSPACE/PAGEUP (or “Y” button on Pandora) goes to previous track.
  • PAGEDOWN (or “X” button on Pandora) goes to next track
  • Numbers keys 0-9 will select tracks (eg Press 1 for track 1 and then again for track 11)

If you exit the player while it is playing a track, on next use it will try to start from the same track.

Possible Future Enhancements (Keeping in mind it is supposed to be a minimal player):

  • Random Play
  • Album Queue
  • Options to make Shoulder buttons less sensitive, (Maybe double click or hold for next Album)
  • Fix some issues with the resume track function.

I still consider this software to be an Alpha release, features and functionality may be changed, added or removed. Enjoy and don’t hesitate to provide feedback and comments below.

To download MinAmp for the Pandora please go to the Pandora Repo (and don’t forget to vote ;) )

For Linux desktop/netbooks you can download the 32 and 64 bit versions here (Sorry no Windows version yet, may or may not happen)…

MinAmp 0.31 for 32 Bit Linux (x86)

MinAmp 0.31 for 64 Bit Linux (x86_64)

MinAmp 0.31 for 32/64 Bit Linux (Manual Install)

 

undefined

MinAmp is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

 

Installing Dropbox on Mandriva 2010.2 KDE

Apr 042011

undefinedDropbox is a great idea, and has Linux support, the only problem is that it currently only supports the Nautilus file manager (Gnome). I thought this wouldn’t be such a problem so I loaded it using "urpmi dropbox" in the console or you could use “Install & Remove Software”. The Dropbox icon can then be found on the “Internet” menu.

It all appeared to work perfectly, Dropbox downloaded its binary file and then I entered my account details and all was good. (Note: You may need to start Dropbox a second time before it downloads the binary, not sure why that was).

Dropbox places an icon in the system tray, clicking on it opens Nautilus and shows you your files. You can add/update and edit your files and it all just works. I thought OK I’ll just use Nautilus for Dropbox and all is good.

Then I plugged in my USB stick and noticed that the Device Notifier was no longer working properly, it was now calling Nautilus instead of Dolphin and not opening the USB devices properly. That wouldn’t do, so this is how I fixed it…

First I removed the Dropbox and Nautilus RPMs using “urpme nautilus-dropbox nautilus gnome-desktop-common libgnome-desktop-2_17 libexempi3″ in the console. This leaves the dropboxd binary file that was downloaded when I ran Dropbox so I can just use that to do what I need. Next from the menu go to “Tools->System Tools->Configure Your Desktop”, click the “Advanced” tab and then double click the “AutoStart” icon. You’ll probably find like I did that the Dropbox entry is still there (If not you’ll need to create one). Click on the Dropbox entry and then click the Properties button, on the Application tab replace the Dropbox command which will be something like “dropbox start -i” with “~/.dropbox-dist/dropboxd” (without the quotes). Logout and Login again.

Now when I start KDE the Dropbox icon automatically shows up in the system tray and even better if you click it now it opens Dolphin and not Nautilus. My Device Notifier also returned to normal. All is good :)

 

 

Setting up a C++ Development Environment on the Pandora

Jun 242010

undefinedI wanted to set up the Pandora so I could develop C++ programs directly on the unit rather than using a cross compiler.  I am also installing the SDL & OpenGL ES libraries. Until a PND package is produced this is what I have done to install the development libraries. You need to use a terminal to issue the following commands and then either issue these commands prefixed by sudo or login as root using su.

opkg update

Update is important to do first to make sure the package lists are up to date. Under no circumstances do a opkg upgrade, trust me on this. If you do be ready to do a firmware re-flash.

opkg install gcc gcc-symlinks gcc-doc make make-dev binutils-dev
opkg install cpp cpp-symlinks
opkg install g++ g++-symlinks libstdc++-dev
opkg install libgles-omap3-dev
opkg install libsdl-1.2-dev libsdl-gfx-dev libsdl-image-1.2-dev libsdl-net-1.2-dev libsdl-ttf-2.0-dev

OK, this is the tricky one, OpenPandora have patched the libsdl-mixer library, so there is no equivalent -dev library, for the mean time I am forcing the installation of the Angstrom library, you will notice the nodeps flag. So far I haven't seen any problems with doing this, your mileage may vary. I will be coding an application that uses sound (portable music player) so we'll see how it goes.

opkg nodeps install libsdl-mixer-1.2-dev

You can write your code using nano or vi in the console or use the GUI application Mousepad. I suggest creating a directory for programming on your SD card. Then in a console you can compile and run your applications. In a follow up post I will show how to write a Hello World program on the Pandora using some SDL and C++.

Have Fun :)

NIS/NFS Networking with Mandriva 2010

Mar 092010

undefinedI recently setup a network using NIS & NFS with Mandriva Linux (Running KDE) as the server and workstation OS. I chose to have Linux installed on each workstation (rather than using LTSP), as the machines are reasonable in specifications.

When completed the workstations now show the list of users on the login screen. Users can login to any of the workstations and get their desktop complete with all their settings (background, themes, email setup, etc). This makes for a very flexible setup where if one workstation fails the user can simply logon somewhere else until the workstation is fixed. It also means that all user data and configuration is stored centrally on the server.

Server Setup

These instructions refer specifically to Mandriva 2010 (or Mandriva 2009) but the setup would be very similar for other Linux flavours. You should open a console as root or su to root to issue these commands. I use ‘vi’ to edit the configuration files but you could also use ‘nano’ or ”kwrite’ if you like.

Install the packages: ‘ypserv’ and ‘rpcbind’ (or ‘portmap’ for Mandriva 2009).

urpmi ypserv rpcbind

Make sure that the services are set to start on bootup :-

chkconfig –level 345 ypserv on
chkconfig –level 345 rpcbind on (or portmap for Mandriva 2009)

Set the domain name (not the internet domain name, just the NIS domain name used internally). I just used “server” for simplicity :-

Add “NISDOMAIN=server” to the end of the “/etc/sysconfig/network” file.
Issue the command “domainname server”

(Note that I do both of the above as I noticed that just using the domainname command worked but seemed to be forgotten later. To check that your domainname is still set just issue the “domainname” command with no parameters).

Make the user home directory mount point. I use /export/home rather than /home to save confusion later on :-

mkdir -p /export
mkdir /export/home

If you have existing accounts in /home on the server that you wish to move to /export/home :-

mv /home/fred /export/home (Move Fred’s account)

For all moved users edit the /etc/passwd to set the new path. Note that I set all “exported” user ids to 600 or over so that we can selectively export only the users over 600 and excude the local users from 500 to 599 :-

ie. fred:x:600:600:Fred Flintstone:/export/home/fred:/bin/bash

Create (or add to) the /etc/exports file. The following example assumes you are using the 192.168.1.x network. The first line exports the home directories of all users, the following optional lines show how to export a few other shared directories if needed :-

/export 192.168.1.0/24(rw,no_root_squash,no_subtree_check,sync)
/data/public *(no_all_squash,sync,secure,rw)
/data/office *(no_all_squash,sync,secure,rw)
/data/admin *(no_all_squash,sync,secure,rw)

Make the NIS maps. This also needs to be run after adding, changing or removing users. Note that I set MINUID and MINGID to 600 in the /var/yp/MakeFile so that users 500 to 599 are not shown :-

cd /var/yp
make

That’s the server configuration complete. You can now add new users if required, when adding them set their home directory to /export/home/{username} (you may need to mkdir the directory before adding the user) and their userid/groupid to 600+. You can now either start the required services (ypserv, rpcbind, portmap) or just restart the server and you’re ready to go.

Client Setup

Install the packages ‘ypbind’, ‘autofs’ and ‘rpcbind’ (or ‘portmap’ for Mandriva 2009).

urpmi ypbind autofs rpcbind

Make sure that the services are set to start on bootup :-

chkconfig –level 345 ypbind on
chkconfig –level 345 autofs on
chkconfig –level 345 rpcbind on (or portmap for Mandriva 2009)

Set the domain name (not the internet domain name, just the NIS domain name used internally). I just used “server” for simplicity :-

Add “NISDOMAIN=server” to the end of the “/etc/sysconfig/network” file.
Issue the command “domainname server”

Add nis to the following entries in /etc/nsswitch.conf as follows

passwd: nis files
shadow: nis files
group: nis files
automount: files nis

Add to end of /etc/yp.conf

ypserver 192.168.1.2 (Use your servers IP address here)

Add to end of /etc/autofs/auto.master

/export auto.export –timeout 30

Create auto.export with

home -fstype=nfs,rsize=8192,wsize=8192,nosuid,nolock 192.168.0.2:/export/home
mkdir -p /export

Switch off auto-login (if enabled) in Control Centre.

Mandriva 2010.0 and Cedega CD/DVD Detection

Nov 292009

undefinedHaving recently upgraded to Mandriva 2010.0, I also wanted to give Cedega a go, so I loaded up the latest Cedega and found that certain CDs and DVDs were not recognised. They would load OK but would not run, failing the “copy-protection” test in Cedega Diagnostics. The game in this case was Oblivion which installed fine but would not run.

I found that I had to manually add an entry to the end of /etc/fstab file, to specifically set the CD/DVD options:

# Entry added to allow Cedega copy-protection test to work.
/dev/sr0 /mnt/cdrom iso9660 user,unhide,noauto,ro 0 0

You will need to replace “/dev/sr0″ with the actual location of your CD/DVD drive. You can check where the /dev/cdrom and /dev/dvd links point to get this information. I’d imagine that in most cases “sr0″ will be correct.

Strangely enough the same set up on a notebook worked perfectly without any changes to the fstab file. So it’s obviously only certain hardware configurations that need this change.

 

Atom

© ScribblyGum Technology 2017