Reply 40 of 45, by Spearhead
- Rank
- Newbie
well first of all the error would be nice to know before someone can start to help effectively...
well first of all the error would be nice to know before someone can start to help effectively...
Right, I suppose that would help a bit.
Naughtius-Maximus:~/desktop/dosboxgui.0.5.3-1 folder justinfletcher$ ./dosboxgui.tcl
no initialSettingsDir, will create one: ~/.dosbox/
Error in startup script: mkdir: ~: No such file or directory
while executing
"exec mkdir ~/.dosbox/"
("eval" body line 1)
invoked from within
"eval exec mkdir $initialSettingsDir"
("default" arm line 2)
invoked from within
"switch $OStype {
"Windows NT" {
exec cmd.exe /c mkdir $initialSettingsDir
}
"Linux" {
eval exec mkdir $initialSettingsDir
}
default ..."
invoked from within
"if { [catch { cd $initialSettingsDir } ] } {
puts "no initialSettingsDir, will create one: $initialSettingsDir"
switch $OStype {
"Windows NT" {
..."
(file "./dosboxgui.tcl" line 48)
That's what I get when I try to execute it. As you should see, I have the dosboxgui folder on my desktop, if that matters.
"Please flee in terror in an orderly manner."
seems to me that MacOS doesn't handle/know the "shortcut" ~ as the home directory.
Don't know what's used for that though. Maybe someone else can help with that
The ~ character is not something the operating system (kernel) knows about. It is something that your application needs to take care of.
Presumably, your Tcl-script simpy passes the "mkdir ~/.dosbox" through the users shell (as specificed in /etc/passwd, or by examining the $SHELL variable).
Many modern shells understands the ~ convention of meaning the current users home directory (and ~username to mean another users home directory), but that is just it: A convention known to the shell.
If Anhaedra or anyone else is using a shell that do NOT understand ~, then you will likely get this kind of error.
You can try using the $HOME variable instead, e.g. "mkdir $HOME/.dosbox", but watch out for users where the home-dir path includes spaces (and Mac OSX users will likely have spaces in their login-names and thus also in the name of their home-dir). So mayby something like
mkdir "${HOME}/.dosbox"
is required.
Edit: Ahh... Just realized, the
eval exec mkdir $initialSettingsDir
probably completely bypasses the whole shell-thing, and executes the mkdir program program directly. So unless mkdir has been changed to know about ~ (or unless the kernel has been changed to know it), then you will get this kind of error.
DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32
Hello
Let me start by thanking you for a great job on DosboxGui. Good Job. I have used this app before. It doesnt seem to support Tcl/Tk 8.5, so I had to back track to Tcl/Tk 8.4 (Linux platform)
One feature i would like for you to implement if you already haven't:
*** the ability to utilize Dosbox's ability to make virtual drives and mount them. ****
For example:
I have 2 different games, both on cdroms. The way i play them with Dosbox I have to use the command line. I have to issue to several commands to do this. After I mount the game cd, I run Dosbox and type (for the game Discworld) :
Z:\mount d /mnt/hdc -t cdrom
Z:\mount c /home/<myhomedir>/dos_games/Discworld -t dir
Z:\d:
D:\disc.bat
To explain what I just did:
The reason why it needs a C:\ drive is because it installs a configuration directory which saves all the sound card configurations and a place to save games to.
Is there a way to do this with DosboxGui already? Or can DosboxGui be fashioned to do this?
Thanks,
chazbroam
Hey there,
Another thing I would like to implement is the ability to make DosBox use the "-exit" after the the game finishes. Any way to make the "run DosBox" button run "dosbox -exit", instead of just "dosbox" ?
chazbroam