POL_Install_CentralizedUserDirs

Informations

Créateur Messages
petch

Information

Cet installateur a été accepté par l'équipe.

Informations

Plate-formes :
Téléchargements : 37327
Wine: System

Retours d'expérience

Description

When Wine creates a prefix ("virtual drive"), it uses symlinks to make several user special paths (My Documents, My Pictures, etc.) point to closest equivalent Linux directory.

This is fine to allow Windows applications to manipulate user files seamlessly, but can also be annoying (game saves "escaping" the game virtual drive, and littering your Linux directories with files and directories.

This function replace all the virtual drive's symlinks with symlinks to a directory of your choice.

Code source

#!/bin/bash
# Date : (2013-10-31 21-16)
# Last revision : (2013-10-31 21-26)
# Author : petch
# Only For : http://www.playonlinux.com

# Just to be on the safe side
[ -n "$WINEPREFIX" ] || POL_Debug_Fatal "POL_Function_CentralizedUserDirs: Variable WINEPREFIX not set!"

local CENTRALIZED_USERDIRS="$(POL_Config_Read CENTRALIZED_USERDIRS)"
 
if [ -z "$CENTRALIZED_USERDIRS" -o ! -d "$CENTRALIZED_USERDIRS" ]; then
        POL_SetupWindow_textbox "$(eval_gettext 'In what directory do you want to redirect user directories?')" "$TITLE" "$HOME/$APPLICATION_TITLE's user directories"
        CENTRALIZED_USERDIRS="$APP_ANSWER"
        mkdir -p "$CENTRALIZED_USERDIRS" || POL_Debug_Fatal "Could not create the directory"
        POL_Config_Write CENTRALIZED_USERDIRS "$CENTRALIZED_USERDIRS"
fi

find "$WINEPREFIX/drive_c/" -type l -exec sh -c 'echo "fixing {}"; rm "{}"; ln -s "'"$CENTRALIZED_USERDIRS"'" "{}"' \;

Contributions

Filters:

Contribuer
Membre Messages
Gosu Mercredi 23 Juillet 2014 à 10:30
Gosu

Messages

Does this Script still work?

It does not seem to be possible to install it via the POL GUI.
I don't really want to mess with my current setting, so can anyone say if this still works?

Réponses

Mercredi 23 Juillet 2014 à 10:45
Sub-Question: does this move already existing directories?
Mercredi 23 Juillet 2014 à 13:33
It still works for me from the PoL GUI
And I don't understand what "existing directories" you're talking of; Before the script runs all what exists are symlinks to standard Linux directories, you don't want them to be moved inside Wine virtual drives do you? And the script has no way to tell apart what content was created by Wine from other content