Closed GasparVardanyan closed 4 years ago
There is makefile. You should sudo make install
first to get everything right.
I've installed dmenufm from AUR.
When you start dmenufm
, it will try to create
FM_PATH="$HOME/.config/dmenufm"
FM_CACHE_PATH="$HOME/.cache/dmenufm"
to put cache file and configuration file.
and one of configuration file is should be called $FM_SDOPROP
, which will be created in $FM_PATH.
Therefore, it seems that dmenufm
cannot create FM_PATH and FM_CACHE when it starts. I am not sure what happened in your system.
Please clone the git repository and tell me the result.
[gaspar ~]$ ls .cache/dmenufm trash/ dmenufm_lastpath [gaspar ~]$ ls .config/dmenufm dmenufm_history dmenufm_sudoprompt* dmenufm.conf [gaspar ~]$
So you can use dmenufm?
Yes, I can use dmenufm, but with these error-messages:
Just opened and closed dmenufm:
[gaspar ~]$ dmenufm mkdir: cannot create directory ‘’: No such file or directory /usr/bin/dmenufm: line 51: : No such file or directory chmod: cannot access '': No such file or directory /usr/bin/dmenufm: line 147: : No such file or directory [gaspar ~]$
mkdir? chmod? what does dmenufm do on my system?
Just opened two directories:
[gaspar ~]$ dmenufm mkdir: cannot create directory ‘’: No such file or directory /usr/bin/dmenufm: line 51: : No such file or directory chmod: cannot access '': No such file or directory /usr/bin/dmenufm-action: line 213: : No such file or directory wc: invalid zero-length file name /usr/bin/dmenufm-action: line 221: [: : integer expression expected /usr/bin/dmenufm-action: line 213: : No such file or directory wc: invalid zero-length file name /usr/bin/dmenufm-action: line 221: [: : integer expression expected /usr/bin/dmenufm: line 147: : No such file or directory [gaspar ~]$
Pleash run sh -x $(which dmenufm)
and give me the output
As you can see in the error-mesage it'll print /usr/bin/dmenufm
No. This is the output of sh -x $(which dmenufm)
should look like:
+ FM_PATH=/home/shelby/.config/dmenufm
+ FM_CACHE_PATH=/home/shelby/.cache/dmenufm
+ [ -r /home/shelby/.config/dmenufm/dmenufm.conf ]
+ . /home/shelby/.config/dmenufm/dmenufm.conf
+ FM_BMKFILE=/home/shelby/.config/dmenufm/dmenufm_bookmark
+ FM_CMDFILE=/home/shelby/.config/dmenufm/dmenufm_command
+ FM_HISFILE=/home/shelby/.config/dmenufm/dmenufm_history
+ FM_SDOPROP=/home/shelby/.config/dmenufm/dmenufm_sudoprompt
+ FM_TRASH=/home/shelby/.cache/dmenufm/trash
+ FM_LASTPATH=/home/shelby/.cache/dmenufm/dmenufm_lastpath
+ FM_REMFILE=/home/shelby/.cache/dmenufm/dmenufm_bulk_rename
+ FM_MASFILE=/home/shelby/.cache/dmenufm/dmenufm_bulk_mass
+ FM_ZIPATH=/home/shelby/.cache/dmenufm/compression/
+ FM_MAX_HIS_LENGTH=5000
+ FM_GENERIC_FONT=Monospace-15
+ FM_NOTIF_FONT=Monospace-25
+ FM_DANGER_FONT=Monospace-20
+ FM_SUDO_COLOR=red
+ FM_GENERIC_COLOR=#005577
+ FM_ACTION_COLOR_LV1=#33691e
+ FM_ACTION_COLOR_LV2=#FF8C00
+ FM_ACTION_COLOR_BULK=#CB06CB
+ XDGDIR1=/usr/share/applications
+ XDGDIR2=/usr/local/share/applications
+ export SUDO_ASKPASS=/home/shelby/.config/dmenufm/dmenufm_sudoprompt
+ CHOICE=placeholder
+ actCHOICE=placeholder
+ allselection=placeholder
+ masselection=placeholder
+ TARGET=./
+ BACKWARD=../
+ ENDSELECTION=End Selection
+ allowbulk=NotAllowed
+ ACTION=Actions
+ TERM=Terminal
+ FM_PCP=PCP - Copy path
+ FM_NEW=NEW - Create new file / directory
+ FM_DEL=DEL - Delete files / directories
+ FM_MVV=MVV - Move files / directories
+ FM_YAK=YAK - Copy files / directories
+ FM_LNK=LNK - Symbolically link files / directories
+ FM_REM=REM - Rename files / directories
+ FM_TRH=TRH - Trash of dmenufm
+ FM_HIS=HIS - History of dmenufm
+ FM_BMK=BMK - Bookmark for dmenufm
+ FM_CMD=CMD - Frequently used command
+ FM_ZIP=ZIP - Compress files / directories
+ FM_SDO=SDO - Enable Super user privilege
+ FM_EYE=EYE - Preview files
+ printf %s\n PCP - Copy path NEW - Create new file / directory MVV - Move files / directories YAK - Copy files / directories LNK - Symbolically link files / directories DEL - Delete files / directories TRH - Trash of dmenufm REM - Rename files / directories HIS - History of dmenufm BMK - Bookmark for dmenufm CMD - Frequently used command ZIP - Compress files / directories SDO - Enable Super user privilege EYE - Preview files
+ ACTLIST=PCP - Copy path
NEW - Create new file / directory
MVV - Move files / directories
YAK - Copy files / directories
LNK - Symbolically link files / directories
DEL - Delete files / directories
TRH - Trash of dmenufm
REM - Rename files / directories
HIS - History of dmenufm
BMK - Bookmark for dmenufm
CMD - Frequently used command
ZIP - Compress files / directories
SDO - Enable Super user privilege
EYE - Preview files
+ printf %s\n tar.gz tar.bz2 tar.xz xz lzma gz bz2 7z zip
+ COMPRESSIONLIST=tar.gz
tar.bz2
tar.xz
xz
lzma
gz
bz2
7z
zip
+ nl=
+ [ ! -d /home/shelby/.config/dmenufm ]
+ [ ! -d /home/shelby/.cache/dmenufm ]
+ [ ! -d /home/shelby/.cache/dmenufm/trash ]
+ printf %s\n #!/bin/sh dmenu -fn Monospace-18 -sb "#FEE12B" -sf "#1d2021" -nf "#000000" -nb "#000000" -p "$1" <&- && echo
+ chmod +x /home/shelby/.config/dmenufm/dmenufm_sudoprompt
+ . dmenufm-open
+ . dmenufm-action
+ . dmenufm-menu
+ CheckDeps find tail xdg-mime xdg-open sed grep wc cp mv rm paste cut id wmctrl xclip touch
+ command -v find
+ command -v tail
+ command -v xdg-mime
+ command -v xdg-open
+ command -v sed
+ command -v grep
+ command -v wc
+ command -v cp
+ command -v mv
+ command -v rm
+ command -v paste
+ command -v cut
+ command -v id
+ command -v wmctrl
+ command -v xclip
+ command -v touch
+ unset CurDep
+ [ -n ]
+ [ -n ]
+ id -u
+ [ 1000 -eq 0 ]
+ MainMenu
+ [ -n placeholder ]
+ [ -n ]
+ Menu
+ MenuDir
+ IFS=
+ [ -d C ]
+ printf %s\n C/
+ [ -d fortran ]
+ printf %s\n fortran/
+ [ -d python ]
+ printf %s\n python/
+ DIRs=C/
fortran/
python/
+ unset IFS
+ MenuDotDir
+ IFS=
+ [ -d . ]
+ printf %s\n ./
+ + [ -d .. ]
sed \|^./$| d; \|^../$| d+
printf %s\n ../
+ DOTDIRs=
+ unset IFS
+ MenuFile
+ IFS=
+ [ -f C ]
+ [ -f fortran ]
+ [ -f python ]
+ FILEs=
+ unset IFS
+ MenuDotFile
+ IFS=
+ [ -f . ]
+ [ -f .. ]
+ DOTFILEs=
+ unset IFS
+ printf %s\n C/
fortran/
python/
+ list=C/
fortran/
python/
+ [ = true ]
+ [ /home/shelby/Documents/code = ]
+ TwoPWD
+ TMP=/home/shelby/Documents
+ TMP=Documents
+ [ 9 -ge 30 ]
+ TMP2=code
+ [ 4 -ge 30 ]
+ printf %s Documents/code
+ TwoPWD=Documents/code
+ unset TMP TMP2
+ printf %s\n ../ ./ Actions Terminal C/
fortran/
python/
+ sed /^$/ d
+ yprompt Documents/code #005577
+ dmenu -f -fn Monospace-15 -i -sb #005577 -l 10 -p Documents/code
+ CHOICE=
+ [ = ./ ]
+ [ = ../ ]
+ [ = Actions ]
+ [ = Terminal ]
+ [ -d ]
+ [ -f ]
+ break
+ printf %s /home/shelby/Documents/code
[gaspar ~]$ sh -x $(which dmenufm)
+ FM_PATH=/home/gaspar/.config/dmenufm
+ FM_CACHE_PATH=/home/gaspar/.cache/dmenufm
+ '[' -r /home/gaspar/.config/dmenufm/dmenufm.conf ']'
+ . /home/gaspar/.config/dmenufm/dmenufm.conf
++ FM_GENERIC_FONT=monospace:size=12:antialias=true:autohint=true
++ FM_NOTIF_FONT=monospace:size=12:antialias=true:autohint=true
++ FM_DANGER_FONT=monospace:size=12:antialias=true:autohint=true
++ FM_SUDO_COLOR='#bf616a'
++ FM_GENERIC_COLOR='#2e3440'
++ FM_ACTION_COLOR_LV1='#2e3440'
++ FM_ACTION_COLOR_LV2='#4c566a'
++ FM_ACTION_COLOR_BULK='#d8dee9'
+ export SUDO_ASKPASS=
+ SUDO_ASKPASS=
+ CHOICE=placeholder
+ actCHOICE=placeholder
+ allselection=placeholder
+ masselection=placeholder
+ TARGET=./
+ BACKWARD=../
+ ENDSELECTION='End Selection'
+ allowbulk=NotAllowed
+ ACTION=Actions
+ TERM=Terminal
+ FM_PCP='PCP - Copy path'
+ FM_NEW='NEW - Create new file / directory'
+ FM_DEL='DEL - Delete files / directories'
+ FM_MVV='MVV - Move files / directories'
+ FM_YAK='YAK - Copy files / directories'
+ FM_LNK='LNK - Symbolically link files / directories'
+ FM_REM='REM - Rename files / directories'
+ FM_TRH='TRH - Trash of dmenufm'
+ FM_HIS='HIS - History of dmenufm'
+ FM_BMK='BMK - Bookmark for dmenufm'
+ FM_CMD='CMD - Frequently used command'
+ FM_ZIP='ZIP - Compress files / directories'
+ FM_SDO='SDO - Enable Super user privilege'
+ FM_EYE='EYE - Preview files'
++ printf '%s\n' 'PCP - Copy path' 'NEW - Create new file / directory' 'MVV - Move files / directories' 'YAK - Copy files / directories' 'LNK - Symbolically link files / directories' 'DEL - Delete files / directories' 'TRH - Trash of dmenufm' 'REM - Rename files / directories' 'HIS - History of dmenufm' 'BMK - Bookmark for dmenufm' 'CMD - Frequently used command' 'ZIP - Compress files / directories' 'SDO - Enable Super user privilege' 'EYE - Preview files'
+ ACTLIST='PCP - Copy path
NEW - Create new file / directory
MVV - Move files / directories
YAK - Copy files / directories
LNK - Symbolically link files / directories
DEL - Delete files / directories
TRH - Trash of dmenufm
REM - Rename files / directories
HIS - History of dmenufm
BMK - Bookmark for dmenufm
CMD - Frequently used command
ZIP - Compress files / directories
SDO - Enable Super user privilege
EYE - Preview files'
++ printf '%s\n' tar.gz tar.bz2 tar.xz xz lzma gz bz2 7z zip
+ COMPRESSIONLIST='tar.gz
tar.bz2
tar.xz
xz
lzma
gz
bz2
7z
zip'
+ nl='
'
+ '[' '!' -d /home/gaspar/.config/dmenufm ']'
+ '[' '!' -d /home/gaspar/.cache/dmenufm ']'
+ '[' '!' -d '' ']'
+ mkdir -p ''
mkdir: cannot create directory ‘’: No such file or directory
+ printf '%s\n' '#!/bin/sh' 'dmenu -fn Monospace-18 -sb "#FEE12B" -sf "#1d2021" -nf "#000000" -nb "#000000" -p "$1" <&- && echo'
/usr/bin/dmenufm: line 51: : No such file or directory
+ chmod +x ''
chmod: cannot access '': No such file or directory
+ . dmenufm-open
+ . dmenufm-action
+ . dmenufm-menu
+ CheckDeps find tail xdg-mime xdg-open sed grep wc cp mv rm paste cut id wmctrl xclip touch
+ for CurDep in "$@"
+ command -v find
+ for CurDep in "$@"
+ command -v tail
+ for CurDep in "$@"
+ command -v xdg-mime
+ for CurDep in "$@"
+ command -v xdg-open
+ for CurDep in "$@"
+ command -v sed
+ for CurDep in "$@"
+ command -v grep
+ for CurDep in "$@"
+ command -v wc
+ for CurDep in "$@"
+ command -v cp
+ for CurDep in "$@"
+ command -v mv
+ for CurDep in "$@"
+ command -v rm
+ for CurDep in "$@"
+ command -v paste
+ for CurDep in "$@"
+ command -v cut
+ for CurDep in "$@"
+ command -v id
+ for CurDep in "$@"
+ command -v wmctrl
+ for CurDep in "$@"
+ command -v xclip
+ for CurDep in "$@"
+ command -v touch
+ unset CurDep
+ '[' -n '' ']'
+ '[' -n '' ']'
++ id -u
+ '[' 1000 -eq 0 ']'
+ MainMenu
+ '[' -n placeholder ']'
+ '[' -n '' ']'
+ Menu
+ MenuDir
+ IFS='
'
++ for dir in *
++ '[' -d dmenufm ']'
++ printf '%s\n' dmenufm/
++ for dir in *
++ '[' -d documents ']'
++ printf '%s\n' documents/
++ for dir in *
++ '[' -d media ']'
++ printf '%s\n' media/
++ for dir in *
++ '[' -d tmp ']'
++ printf '%s\n' tmp/
+ DIRs='dmenufm/
documents/
media/
tmp/'
+ unset IFS
+ MenuDotDir
+ IFS='
'
++ for dir in .*
++ sed '\|^./$| d; \|^../$| d'
++ '[' -d . ']'
++ printf '%s\n' ./
++ for dir in .*
++ '[' -d .. ']'
++ printf '%s\n' ../
++ for dir in .*
++ '[' -d .cache ']'
++ printf '%s\n' .cache/
++ for dir in .*
++ '[' -d .config ']'
++ printf '%s\n' .config/
++ for dir in .*
++ '[' -d .fehbg ']'
++ for dir in .*
++ '[' -d .gitconfig ']'
++ for dir in .*
++ '[' -d .irssi ']'
++ printf '%s\n' .irssi/
++ for dir in .*
++ '[' -d .lesshst ']'
++ for dir in .*
++ '[' -d .local ']'
++ printf '%s\n' .local/
++ for dir in .*
++ '[' -d .mupdf.history ']'
++ for dir in .*
++ '[' -d .pki ']'
++ printf '%s\n' .pki/
++ for dir in .*
++ '[' -d .profile ']'
++ for dir in .*
++ '[' -d .python_history ']'
++ for dir in .*
++ '[' -d .Rhistory ']'
++ for dir in .*
++ '[' -d .sam.localhost.lock ']'
++ for dir in .*
++ '[' -d .spectrwm.conf ']'
++ for dir in .*
++ '[' -d .spectrwm.keys ']'
++ for dir in .*
++ '[' -d .startx_log ']'
++ for dir in .*
++ '[' -d .startx_log.old ']'
++ for dir in .*
++ '[' -d .terminfo ']'
++ printf '%s\n' .terminfo/
++ for dir in .*
++ '[' -d .todo ']'
++ for dir in .*
++ '[' -d .urxvt ']'
++ printf '%s\n' .urxvt/
++ for dir in .*
++ '[' -d .vim ']'
++ printf '%s\n' .vim/
++ for dir in .*
++ '[' -d .vimrc ']'
++ for dir in .*
++ '[' -d .wallpaper ']'
++ for dir in .*
++ '[' -d .Xauthority ']'
++ for dir in .*
++ '[' -d .Xdefaults ']'
++ for dir in .*
++ '[' -d .xinitrc ']'
++ for dir in .*
++ '[' -d .Xresources ']'
++ for dir in .*
++ '[' -d .zcompdump ']'
++ for dir in .*
++ '[' -d .zprofile ']'
++ for dir in .*
++ '[' -d .zshrc ']'
+ DOTDIRs='.cache/
.config/
.irssi/
.local/
.pki/
.terminfo/
.urxvt/
.vim/'
+ unset IFS
+ MenuFile
+ IFS='
'
++ for file in *
++ '[' -f dmenufm ']'
++ for file in *
++ '[' -f documents ']'
++ for file in *
++ '[' -f media ']'
++ for file in *
++ '[' -f tmp ']'
+ FILEs=
+ unset IFS
+ MenuDotFile
+ IFS='
'
++ for file in .*
++ '[' -f . ']'
++ for file in .*
++ '[' -f .. ']'
++ for file in .*
++ '[' -f .cache ']'
++ for file in .*
++ '[' -f .config ']'
++ for file in .*
++ '[' -f .fehbg ']'
++ printf '%s\n' .fehbg
++ for file in .*
++ '[' -f .gitconfig ']'
++ printf '%s\n' .gitconfig
++ for file in .*
++ '[' -f .irssi ']'
++ for file in .*
++ '[' -f .lesshst ']'
++ printf '%s\n' .lesshst
++ for file in .*
++ '[' -f .local ']'
++ for file in .*
++ '[' -f .mupdf.history ']'
++ printf '%s\n' .mupdf.history
++ for file in .*
++ '[' -f .pki ']'
++ for file in .*
++ '[' -f .profile ']'
++ printf '%s\n' .profile
++ for file in .*
++ '[' -f .python_history ']'
++ printf '%s\n' .python_history
++ for file in .*
++ '[' -f .Rhistory ']'
++ printf '%s\n' .Rhistory
++ for file in .*
++ '[' -f .sam.localhost.lock ']'
++ printf '%s\n' .sam.localhost.lock
++ for file in .*
++ '[' -f .spectrwm.conf ']'
++ printf '%s\n' .spectrwm.conf
++ for file in .*
++ '[' -f .spectrwm.keys ']'
++ printf '%s\n' .spectrwm.keys
++ for file in .*
++ '[' -f .startx_log ']'
++ printf '%s\n' .startx_log
++ for file in .*
++ '[' -f .startx_log.old ']'
++ printf '%s\n' .startx_log.old
++ for file in .*
++ '[' -f .terminfo ']'
++ for file in .*
++ '[' -f .todo ']'
++ printf '%s\n' .todo
++ for file in .*
++ '[' -f .urxvt ']'
++ for file in .*
++ '[' -f .vim ']'
++ for file in .*
++ '[' -f .vimrc ']'
++ printf '%s\n' .vimrc
++ for file in .*
++ '[' -f .wallpaper ']'
++ printf '%s\n' .wallpaper
++ for file in .*
++ '[' -f .Xauthority ']'
++ printf '%s\n' .Xauthority
++ for file in .*
++ '[' -f .Xdefaults ']'
++ printf '%s\n' .Xdefaults
++ for file in .*
++ '[' -f .xinitrc ']'
++ printf '%s\n' .xinitrc
++ for file in .*
++ '[' -f .Xresources ']'
++ printf '%s\n' .Xresources
++ for file in .*
++ '[' -f .zcompdump ']'
++ printf '%s\n' .zcompdump
++ for file in .*
++ '[' -f .zprofile ']'
++ printf '%s\n' .zprofile
++ for file in .*
++ '[' -f .zshrc ']'
++ printf '%s\n' .zshrc
+ DOTFILEs='.fehbg
.gitconfig
.lesshst
.mupdf.history
.profile
.python_history
.Rhistory
.sam.localhost.lock
.spectrwm.conf
.spectrwm.keys
.startx_log
.startx_log.old
.todo
.vimrc
.wallpaper
.Xauthority
.Xdefaults
.xinitrc
.Xresources
.zcompdump
.zprofile
.zshrc'
+ unset IFS
++ printf '%s\n' 'dmenufm/
documents/
media/
tmp/' '' '.cache/
.config/
.irssi/
.local/
.pki/
.terminfo/
.urxvt/
.vim/' '.fehbg
.gitconfig
.lesshst
.mupdf.history
.profile
.python_history
.Rhistory
.sam.localhost.lock
.spectrwm.conf
.spectrwm.keys
.startx_log
.startx_log.old
.todo
.vimrc
.wallpaper
.Xauthority
.Xdefaults
.xinitrc
.Xresources
.zcompdump
.zprofile
.zshrc'
+ list='dmenufm/
documents/
media/
tmp/
.cache/
.config/
.irssi/
.local/
.pki/
.terminfo/
.urxvt/
.vim/
.fehbg
.gitconfig
.lesshst
.mupdf.history
.profile
.python_history
.Rhistory
.sam.localhost.lock
.spectrwm.conf
.spectrwm.keys
.startx_log
.startx_log.old
.todo
.vimrc
.wallpaper
.Xauthority
.Xdefaults
.xinitrc
.Xresources
.zcompdump
.zprofile
.zshrc'
+ '[' '' = true ']'
+ '[' /home/gaspar = '' ']'
+ TwoPWD
+ TMP=/home
+ TMP=home
+ '[' 4 -ge 30 ']'
+ TMP2=gaspar
+ '[' 6 -ge 30 ']'
++ printf %s home/gaspar
+ TwoPWD=home/gaspar
+ unset TMP TMP2
++ printf '%s\n' ../ ./ Actions Terminal 'dmenufm/
documents/
media/
tmp/
.cache/
.config/
.irssi/
.local/
.pki/
.terminfo/
.urxvt/
.vim/
.fehbg
.gitconfig
.lesshst
.mupdf.history
.profile
.python_history
.Rhistory
.sam.localhost.lock
.spectrwm.conf
.spectrwm.keys
.startx_log
.startx_log.old
.todo
.vimrc
.wallpaper
.Xauthority
.Xdefaults
.xinitrc
.Xresources
.zcompdump
.zprofile
.zshrc'
++ sed '/^$/ d'
++ yprompt home/gaspar '#2e3440'
++ dmenu -f -fn monospace:size=12:antialias=true:autohint=true -i -sb '#2e3440' -l 10 -p home/gaspar
+ CHOICE=
+ '[' '' = ./ ']'
+ '[' '' = ../ ']'
+ '[' '' = Actions ']'
+ '[' '' = Terminal ']'
+ '[' -d '' ']'
+ '[' -f '' ']'
+ break
+ printf %s /home/gaspar
/usr/bin/dmenufm: line 147: : No such file or directory
[gaspar ~]$
It seems that in your configuration file dmenufm.conf
, there a lot of FM_*
variables not defined.
+ '[' -r /home/gaspar/.config/dmenufm/dmenufm.conf ']'
+ . /home/gaspar/.config/dmenufm/dmenufm.conf
++ FM_GENERIC_FONT=monospace:size=12:antialias=true:autohint=true
++ FM_NOTIF_FONT=monospace:size=12:antialias=true:autohint=true
++ FM_DANGER_FONT=monospace:size=12:antialias=true:autohint=true
++ FM_SUDO_COLOR='#bf616a'
++ FM_GENERIC_COLOR='#2e3440'
++ FM_ACTION_COLOR_LV1='#2e3440'
++ FM_ACTION_COLOR_LV2='#4c566a'
++ FM_ACTION_COLOR_BULK='#d8dee9'
This is the content of your configuration file. You should copy the system configuration file in /usr/bin/dmenufm.conf
to your $HOME/.config/dmenufm/dmenufm.conf
and then every error should disappear.
After that, you can modify the configuration file by yourself.
I've just used this example: https://github.com/huijunchen9260/dmenufm#configuration
Why the dmenufm.conf is located in /usr/bin and not in /etc ?
I've just used this example: https://github.com/huijunchen9260/dmenufm#configuration
I need to revise that part of README. Thx!
Why the dmenufm.conf is located in /usr/bin and not in /etc ?
That's a good question. My original thought is just put the conf file in the same directory, so that in the Makefile I can be just be lazy.
I'll will think twice to make such adjustment or not.
Thank you for help )
With the newest commit I believe such problem will never happen again.
Just opened and closed dmenufm:
mkdir? chmod? what does dmenufm do on my system?
Just opened two directories: