config converting problem

Holly Bostick motub at planet.nl
Wed Aug 11 15:39:04 CDT 2004


Thanks for posting this back to the list, Mike; I post here so rarely 
that I forget that this is a "Reply All" list, and not just a "Reply" 
list :-)


Mike Hearn wrote:

> PS I've added wine-devel back as from the wording it sounded like it 
> was meant to go there: wine-devel is one of these annoying old-skool 
> lists which don't rewrite Reply-To, but that rant is something for 
> another time :)
>
> Holly Bostick wrote:
>
>> Yeah, fine, "it sucks"-- and I admit that I myself never install to 
>> "C:\Program Files", under Windows or Wine, but geez guys-- who do you 
>> think your users are when you say things like this?
>>
>> They're *Windows users*. And that means they probably use the 
>> defaults, and that means that their whole data tree is in ./wine. And 
>> if that data tree meant so much to them that they installed Wine in 
>> the first place, it's kinda cold to say "just blow it away".
>
>
> Well, I'd guess that most users run perhaps one or two apps in Wine at 
> the most, 


Ahhhh..... well, fine, I suppose we could argue all day over what "most 
users" might do, but I myself certainly run more than "one or two apps" 
under Wine, because 1) I play games and 2) there are currently about 4 
apps that are more convienient for me to run under Wine atm than to try 
to understand the Linux alternatives (assuming they exist), and at least 
1 that might be replaceable, but I haven't done the research yet, and it 
is essential to maintain in its current configuration, as I still need 
its functionality.

And while I may not be representative of the "majority" of migrating 
Linux users (certainly not on the corporate desktop), I do think I'm 
fairly well representative of a significant portion of the home user 
migration.

I have a list of about 20 or so games that I either play myself, or need 
to test to see if they are playable, because my boyfriend plays them, 
and I want to encourage him to switch. Oh, make that 21, since I just 
heard that people got Doom3 running (under Wine, no less), and I 
certainly have to check that.

And no, I don't want to blow away my savegames in Icewind Dale 2 just 
because Wine needs a refresh, nor do I want to blow away my mIRC server 
list (the scripts I use don't seem transferrable to Kvirc, so I still 
use mIRC), or my PSP custom brushes or "tubes" or whatever. And heaven 
knows I wouldn't want to try to reinstall my Morrowind plugins (I'm 
using a backup Windows install to replace the Wine-installed game-- or I 
will, when I get to attempting to install it, as I'm repartitioning at 
the moment), as it was hard enough getting them installed the first time 
(and that was under Windows).

I can see that in such a world as you suggest, blowing away the .wine 
folder is not a big deal. I'm just not sure that that world is the world 
that "most users", or even "a large number of users" actually live in.


> unlike Windows users who run lots and lots of apps. So every so often 
> reinstalling these programs is not such a big deal, unless you have 
> things like the Office XP activation scheme which don't like that.
>
>> They're non-technical (a behaviour encouraged by being a Windows 
>> user). So while I'm sure they're used to "blowing away" their Windows 
>> installation regularly (due to the "non-technical" nature of things 
>> like My Documents rather than putting your bloody docs on another 
>> partition rather than C:\, for example), since half the reason to 
>> move to Linux is to put an end to that necessity, it seems a bit odd 
>> to reinstate it here.
>
>
> Yeah, I agree that at minimum we should force My Documents elsewhere, 
> and maybe have wineprefixcreate link H: to $HOME along with putting a 
> label on that drive saying "Save Your Files Here" (or whatever).


That would be a start, and that's a good thing. A basic "Optimal way to 
configure and use Wine" document would be even better (and yes, I'll get 
to work on one myself, and submit it to Bugzilla for review; I'd not say 
"you all ought to do this" like that. I'm a Linux user). It would be 
nice to have a clue what was going on from one month to the next, 
especially since-- as noted here on the list-- many users are making a 
big jump from any "last stable" version installed with their distro 
(which may well be from late 2003 or early 2004) to the current version 
found on the site, in which time there have been significant changes, 
and much of the documentation on how to configure Wine they may have 
previously seen could be obsolete.


>
>> Wouldn't it just make more sense to *separate the config files from 
>> the (wine) system files*?? Why in the heck is fake_windows in the 
>> ./wine directory anyway???
>
>
> Good question. I suspect the answer is "because it's always been 
> there" :)


No, I can see how there might have been good reason for it originally. 
After all, how could you expect to auto configure Wine to map drives to 
my system when you actually know very little about important aspects of 
my system (most notably the mount point for my CD-ROM and floppy drive, 
which change across distributions, but are generally essential for the 
installation and/or operation of the vast majority of Windows programs).

The only way to succeed would be to force me (the user) into a 
configuration that you know to exist (which is how it's been done up to 
this point), yet that's got a huge number of drawbacks as well-- most 
notably, removing choice, which is something many Linux users consider 
to be the best thing about Linux.

In the early days of Wine, when you had far more important things to 
worry about (like getting the programs to work at all), I can see how 
you'd set the issue aside.

But now that there is a little bit of "wiggle room" (insofar as a wide 
variety of the Wine base functions work well enough that one doesn't 
have to watch them every single minute, and many of the major programs 
that people could be expected to want to run work relatively well), it 
may be time to pay a bit of attention to some things that were set on 
the back burner a while ago.


>
>> 1) it's hidden, so if I'm inexperienced and non-technical, I don't 
>> even know where my programs are;
>
>
> Yes this is a fairly common question. TransGaming put a 
> ~/Transgaming_Drive symlink in the home dir.
>
> Proposal: patch wineprefixcreate to build "~/Virtual C Drive" as the 
> users fake windows tree (notice the lack of ugly underscores)? Cons:
>
> - Some users may not like it (really there's not much useful stuff in 
> there except the program EXEs)


Except save states (think games), customized config/ini files (think FTP 
programs, Trillian, and many games), possibly password information, and 
of course possibly data files created by the user with the program-- 
there are still any number of programs (especially older ones, which are 
the most likely type to be run under Wine, since they won't be ported) 
that don't default to "My Documents", but instead to the program 
directory, to save files created by the program. Users who can't be 
bothered to browse their tree to find an appropriate and "secure" (in 
the sense of "safe from deletion if you have to reinstall") location are 
going to be using the first location found by the "Save" dialog. Again, 
without hard data about what programs real users are using Wine to run, 
you can't just say "there's not much useful stuff in there". It's 
overgeneralizing, and it risks my data (and I hate to risk my data :-) ).

But again (thinking of my incomplete and thus unsent response to our 
previous conversation, Mike), you say "this is a fairly common 
question". If a large proportion of the users that actually contact you 
by various, and often somewhat complicated, means, have this question, 
then one can only wonder how many users who were unable to contact you 
("you" in the sense of the devel team, as well as you personally) have 
this question. And that points to a user need that you (the team) are 
capable of knowing about, since you already realize that it's a "fairly 
common question", and have further noted the response of Transgaming to 
this 'problem'. Surely the Wine and CX teams are not under the 
impression that your userbase is so completely separate and distinct 
from the Transgaming userbase, that it does not have similar needs, or 
confusions? So I've gotta say, I don't get why this issue is "news" to 
you all insofar as you're just now thinking of how to patch/rectify it. 
It raises all kinds of questions for me as a user, which can be 
generally summed up as, "Don't you care about me at all?" and 
supplementally as, "Don't you all even use Wine?"

>
> - Are there issues with spaces in the paths used for these drives? I 
> don't think we want to have underscores here
>
> - Localization: do we really want to translate "Virtual C Drive" into 
> a bazillion languages? If so is the support hassle of having 
> everybodies C drive in a different place worth it? OTOH you can say 
> "the C drive is always in ~/.wine/dosdevices/c:/*" and be done with it.
>
>> 2) there is no reason I should have to "blow away" my data just 
>> because I have to blow away the config. Reinstalling a program over 
>> itself is far far easier than reinstalling it from scratch, and that 
>> doesn't even cover the pure data that might be in "C:\My Documents".
>
>
> Well by "config" we mean:
>
> * Drive mappings
> * Registry
> * Config file, or what's left of it :)
>
> In future the config file will disappear and you'll only have the 
> registry. 


Why or how, btw, is this a beneficial change? I'm a user, I just live 
with it, but no one has actually told me why making the config more 
inaccessible to me, and more difficult to work with, is better for me 
than the (admittedly confusing, but at least available) configuration 
file of the days of yore.....

> The problem is we don't have a good way to upgrade it. 


....Especially if it's less functional than the configuration files of 
the days of yore (insofar as it's at least possible to upgrade 
~/.wine/config, even with a diff, if necessary).

> Currently once the users .wine is created their registry is "static" 
> and even if we improve the default registry it'll never be recreated. 
> Ditto for COM registrations, they are only done at wineprefixcreate 
> time as well.
>
> This comes back to the discussions me, Dimi and Alexandre were having 
> a while ago.
>
> So for now the easiest way to make sure you're up to date is just to 
> reinstall stuff because if you delete the registry, you also lose app 
> settings and quite a few programs don't like their registry trees 
> disappearing.



Yes, I'm certainly familiar with the response of applications to their 
Registry keys going bye-bye. But how can the Registry be a static 
entity, when I can upgrade Wine every month? So even if you improve the 
default Registry, I'll never know, unless I blow everything away? I 
don't think I even dare to ask about the relationship between drive 
mappings and the Registry (what if I get a new giganto HDD and want to 
move my Wine installation over to it? Do at least changes to the 
/dosdevices/ folder migrate into the Registry? In which case, it's not 
totally static, and if not, how can that ability be expanded?)

>
>
>> And I don't see why we don't gently educate the users in the 
>> importance of this issue (as a dedicated dialog would certainly do), 
>> but instead just let them keep on doing things the same old crummy 
>> Windows way, as if it was ever a good idea.
>
>
> Many users don't read info/error dialogs especially when technical, 


"Please specify a location for your fake_windows directory" is 
technical? Geez, even Windows installers let you specify a location for 
their Start Menu entries-- they don't seem to find *that* too technical. 
And if the install process has stopped on that question, you *have* to 
read it. Don't you?

Or am I just naive? I didn't think I've been using Linux *that* long to 
become jaded.

> likewise Wine has to be auto-configuring. 


Why? Yes, I know there's an answer below this, but it doesn't answer. 
Auto-configuring doesn't much help if the auto-config is wrong (just 
look at Samba. Is there so much as a single soul who has ever been able 
to connect to their Windows network using the default configuration, and 
has not needed to edit /etc/smb.conf to-- at the very least-- correct 
the workgroup name?). I have yet to have anything but fake_windows 
(hardcoded to a hidden directory), /tmp, / (sometimes), and ${HOME}$ 
automatically mapped.

No CD-ROM. I have to do that myself.

No outside partitions (one of which is the one where I commonly keep 
Wine-installed programs, so that I can just say I want the app in D:\ 
and know where it's going). Have to do that myself, too. Yeah, yeah, I 
know, I could just use / and drill down, but  1) that's a pain and 2) 
that assumes that the installer works properly and allows me to move 
around in the "semi symlinked" directory tree, which some installers 
barf at-- and if the installer actually requires me to type a path, I 
have to remember the entire tree from / all the way to wherever I have 
mounted the partition, somewhere in my home directory. Hopefully the 
pathname is not too many characters. At least winesetuptk used to map 
all the FAT32 partitions it found, meaning I only had to map the one 
"extra" ext3 partition. Of course, since I'm eliminating my FAT32 
partitions now, even that wouldn't help me anymore.

And that ${HOME}$ evar has never worked for me, in the year and a half 
that I've been using various versions of Wine, so I have to manually 
change it to /home/username anyway.

> Not only is it required by most packaging technologies (they don't 
> allow user interaction, often by design) but if we want Wine to ever 
> stabilise and become a part of most distros base sets again it has to 
> involve zero user interaction to setup.



There are most definitely programs that do ask you one or more questions 
during install; I guess they're mostly servers, which I'm not too 
experienced with, but I did (by mistake) install apache or postfix or 
something that wanted me to set a password before it would finish the 
install.

X.org is only partially self-configuring. The drivers for my ATI video 
card most certainly are not; I have to run an included script to 
configure them. Proprietary apps like the Microsoft fonts, the Acrobat 
Reader, and the Flash plugin make you stop and accept the license before 
they will install. And in the case of Wine, this isn't even install 
we're talking about, this is *post-install* (first-time program access). 
K3b tells me about config errors on first access, and makes me run K3b 
setup (or it did, before I blew away KDE, so now I have to fix the 
permissions on cdrecord and cdrdao manually). If the default 
configuration (codec and plugin choices) of mPlayer or XMMS are wrong, 
and the media file won't play, then I have to re-configure them (using 
the easily-accessed dialogs). There are very few complex programs that I 
can think of that don't either require or strongly prefer that the user 
explicitly configure them on first access. Even MS Office wants you to 
put in your initials and all that minor configuration stuff (or it did; 
I haven't used it in years).

I mean, fine; I can't speak for "the requirements of packaging 
technologies" (although my impression is that none of those blasted 
distros should be packaging Wine anyway, as they all muck it up), nor am 
I a distro developer who specifies requirements for inclusion into 
anybody's base package-- but why do you "have" to be a part of any 
distro's base package? Is there something wrong with being in contrib? 
Admittedly, Wine is usually in "unstable contrib" making it hard to 
track down the current version under some distros, but how is 
"stability" related to user interaction in the post-install?

I'm just a user, and if I find Wine unstable, it's because 1) it doesn't 
work properly under some circumstances (which you all knew, and is a 
completely separate issue), and 2) it does not interact with me, even so 
far as to tell me what needs to be done, much less what it has in fact 
done, much less letting me/telling me how to correct any of the 
operations it has done if they are not to my satisfaction.

Now, in my experience, I'm installing from a terminal (Debian, 
Slackware, Gentoo), where it's fairly easy to see that the process is 
stopped because there is a y/n question on-screen.

Fine, fine, maybe I'm installing from YAST/YOU (yeah, I tried SuSE for 3 
days at some point) or KPackage (once) or RPMDrake (plenty). Don't know 
so much about those (except RPMDrake); I do know Synaptic has a terminal 
window where you might have to answer such a question; I would imagine 
(in my innocence) that YOU and KPackage would have a similar facility. 
OK, I can see that RPMDrake might be a problem (no terminal window or 
tab that I can recall, and maybe Mandrake doesn't want to make a little 
popup dialog).

A secondary script after the install that opens an xterm is out of the 
question? If we assume this config *has* to be done during install and 
not during first program access, which will always occur in a terminal? 
OK, maybe it won't... maybe the user is going to double-click some *.exe 
in Konqueror. Windows users. Right. Whatever, brings me right back to a 
firstrun script that opens an xterm (to be safe; we can pretty much bet 
that the user has xterm, but not necessarily Konsole or gnome-terminal 
or eterm or aterm or what-have-you). Is there something more needed to 
implement this than some kind of variable along the lines of 
"firstrun=1" which changes to 0 after the first time Wine is run? 
Mandrake and KDE must specify that their First-Time Wizards should be 
run somehow; it doesn't seem like the implementation should be so 
horribly inaccessible that the project couldn't figure it out (but then, 
I am not a coder, so I may be talking out of my butt for all I know).

What you're saying is that there is no way for you to allow me choice in 
how I want to configure Wine to best utilize my partition layout and 
personal needs, because the packaging technologies and the distros won't 
allow you to code your app in such a way that I the user might have a 
say in the configuration process? And that, further, once I have been 
"configured" to the tastes of all of these forces, that I can't update 
that without blowing my whole, carefully-constructed house of cards away 
and starting from scratch?

Uh-huh.

About the only person I can see such a completely hands-off setup being 
beneficial to is some sysadmin who's trying to migrate multiple seats to 
Linux and has to configure all the dozens or hundreds or thousands of 
workstations to use CXOffice (or something) to run Outlook, but even in 
my ignorance, I'd have to say that that person should be looking for an 
alternative organizational setup (like running Wine/CX and MS Office 
from an application server instead of from each workstation), and in any 
case, they're using CXOffice, for which they have paid, and/or for which 
the distribution that included it has paid (thus if they want to demand 
that the config be set up in a certain way, they can vote with their 
dollars to pay for the R&D needed to target the application to their 
specialized needs). It's a completely different issue from the large 
number of home users that are only dealing with 1-3 machines, using a 
freely-downloadable distro and Wine. In such a case there presumably is 
not some horrific constraint that specifies that you "simply don't have 
the time" to interact with the post-install, because "time is money". So 
I don't get why users having to answer a few questions is absolutely a 
no-go, or why you even care that the user must fly in such perfect 
comfort, since they aren't paying for Wine anyway (so it's not like 
you're losing your best customer if they object to having to brown-bag 
it a bit).

Or are we even still talking about Wine?

I guess what's been confusing me for some time is just whose needs the 
project is aiming to serve. Is Wine really just a cover for a free and 
unregarded technological testbed for the paid project (more naievete 
from me), and we should be quietly grateful that it's available to us at 
all (operative word, "quietly")? Is it just an interesting exercise for 
cross-platform developers, and we should be quietly grateful that we are 
able to run any Windows programs that we might value at all? Where is 
the focus? It definitely doesn't so much appear to be on those who, for 
financial, philosophical, or intellectual (they don't know any better) 
reasons, choose to use Wine (as opposed to the alternatives) and expect 
it to be understandable, and-- dare I say-- relatively easy. 
Auto-configuration is not necessarily either one. *You* need it, for the 
reasons stated above, but do *I*? This is starting to remind me of the 
reasons I stopped upgrading (and eventually, using) Microsoft Office-- 
they made a big noise about adding "more and better web integration"-- a 
completely useless "feature" for me-- but all the revisions (from 
Word/Excel/Powerpoint to Office 95 to Office 97 to Office 2000) have 
never bothered to redesign the menu structure so that the tools to 
completely format a single page of text are not scattered across three 
different menus, even though that would be an improvement that would be 
useful to everybody (including me).

Because that is the sort of feature that I, as just a regular user, 
actually care about, it is the kind of thing I notice when developers 
add all kinds of *other* features *but* that-- and that's why I'm 
definitely confused as to who these users everybody is catering to are.

Maybe I should hang out at more Linux bars....

Holly




More information about the wine-devel mailing list