Common searches

New DOSBox Frontend - DOSBoxGui

Topic actions

Reply 41 of 45, by Anhaedra

User metadata
Rank Newbie

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."

Reply 43 of 45, by MiniMax

User metadata
Rank Moderator

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

Reply 44 of 45, by chazbroam

User metadata
Rank Newbie


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

To explain what I just did:

  • 1) The 1st command shows Dosbox where my cdrom is and makes a virtual drive "d" (aka D:\ drive) for its use.
    2) The 2nd command shows where on my hard drive to make a virtual drive "c" (aka C:\ drive) for its use.
    3) The 3rd command switches to the cdrom "D:\".
    4) The final command runs the "disc.bat" file which starts Discworld.

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?



Reply 45 of 45, by chazbroam

User metadata
Rank Newbie

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" ?