Port Requests


Shouldn't dmenu_path and dmenu_run show as being executable? I thought that was what chmod should have done.
 
If files are owned by root, you would need to use sudo like this:

sudo chmod +x dmenu_path

That's why i use a separate folder on the SD with normal user permissions.
 
Last edited:
EDIT: ninja'd by canseco.

@directive0 can you try the following?

Code:
sudo chown -R <insert your user name here> .
chmod +x dmenu_run
chmod +x dmenu_path

Right now, the owner of the files is root and that is probably why chmod didn't work. If you make yourself the owner, then you should be able to make it executable.
 
Last edited:
Code:
Acanthus:/home/d0/dmenu$ sudo chown -R d0 .
Acanthus:/home/d0/dmenu$ chmod -x dmenu_run
Acanthus:/home/d0/dmenu$ chmod -x dmenu
Acanthus:/home/d0/dmenu$ ./dmenu
bash: ./dmenu: Permission denied
Acanthus:/home/d0/dmenu$ ls -l
total 152
-rw-r--r-- 1 d0 root  1011 Jul 25 13:53 arg.h
-rw-r--r-- 1 d0 root   892 Jul 25 13:53 config.def.h
-rw-r--r-- 1 d0 root   892 Jul 26 15:20 config.h
-rw-r--r-- 1 d0 root   846 Jul 25 14:50 config.mk
-rw-r--r-- 1 d0 root 19424 Jul 26 15:20 dmenu
-rw-r--r-- 1 d0 root  2765 Jul 25 13:53 dmenu.1
-rw-r--r-- 1 d0 root 16711 Jul 25 13:53 dmenu.c
-rw-r--r-- 1 d0 root 13308 Jul 26 15:20 dmenu.o
-rw-r--r-- 1 d0 root   294 Jul 25 13:53 dmenu_path
-rw-r--r-- 1 d0 root    58 Jul 25 13:53 dmenu_run
-rw-r--r-- 1 d0 root  9902 Jul 25 13:53 drw.c
-rw-r--r-- 1 d0 root  1659 Jul 25 13:53 drw.h
-rw-r--r-- 1 d0 root  6632 Jul 26 15:20 drw.o
-rw-r--r-- 1 d0 root  1442 Jul 25 13:53 LICENSE
-rw-r--r-- 1 d0 root  2130 Jul 25 13:53 Makefile
-rw-r--r-- 1 d0 root   475 Jul 25 13:53 README
-rwxr-xr-x 1 d0 root  5960 Jul 26 15:20 stest
-rw-r--r-- 1 d0 root  1530 Jul 25 13:53 stest.1
-rw-r--r-- 1 d0 root  3229 Jul 25 13:53 stest.c
-rw-r--r-- 1 d0 root  3304 Jul 26 15:20 stest.o
-rw-r--r-- 1 d0 root   482 Jul 25 13:53 util.c
-rw-r--r-- 1 d0 root   305 Jul 25 13:53 util.h
-rw-r--r-- 1 d0 root  1236 Jul 26 15:20 util.o
 
Oh jeeze. I'm sorry. Let me try that. I must have made that mistake like 50 times now. Appreciate your patience.

Okay tried it as +x. I mean, it does something, I'm just not sure what. I use the PATH string you gave me too, but that doesn't do anything different.

Can I ask for my own knowledge what that string does?

Code:
Acanthus:/home/d0/dmenu$ ./dmenu_run: line 2: dmenu_path: Permission denied
Xlib:  extension "XINERAMA" missing on display ":0.0".




Acanthus:/home/d0/dmenu$ ls -l
total 152
-rw-r--r-- 1 d0 root  1011 Jul 25 13:53 arg.h
-rw-r--r-- 1 d0 root   892 Jul 25 13:53 config.def.h
-rw-r--r-- 1 d0 root   892 Jul 26 15:20 config.h
-rw-r--r-- 1 d0 root   846 Jul 25 14:50 config.mk
-rwxr-xr-x 1 d0 root 19424 Jul 26 15:20 dmenu
-rw-r--r-- 1 d0 root  2765 Jul 25 13:53 dmenu.1
-rw-r--r-- 1 d0 root 16711 Jul 25 13:53 dmenu.c
-rw-r--r-- 1 d0 root 13308 Jul 26 15:20 dmenu.o
-rw-r--r-- 1 d0 root   294 Jul 25 13:53 dmenu_path
-rwxr-xr-x 1 d0 root    58 Jul 25 13:53 dmenu_run
-rw-r--r-- 1 d0 root  9902 Jul 25 13:53 drw.c
-rw-r--r-- 1 d0 root  1659 Jul 25 13:53 drw.h
-rw-r--r-- 1 d0 root  6632 Jul 26 15:20 drw.o
-rw-r--r-- 1 d0 root  1442 Jul 25 13:53 LICENSE
-rw-r--r-- 1 d0 root  2130 Jul 25 13:53 Makefile
-rw-r--r-- 1 d0 root   475 Jul 25 13:53 README
-rwxr-xr-x 1 d0 root  5960 Jul 26 15:20 stest
-rw-r--r-- 1 d0 root  1530 Jul 25 13:53 stest.1
-rw-r--r-- 1 d0 root  3229 Jul 25 13:53 stest.c
-rw-r--r-- 1 d0 root  3304 Jul 26 15:20 stest.o
-rw-r--r-- 1 d0 root   482 Jul 25 13:53 util.c
-rw-r--r-- 1 d0 root   305 Jul 25 13:53 util.h
-rw-r--r-- 1 d0 root  1236 Jul 26 15:20 util.o


*edit

Woah hey I stand corrected! If i go to the filemanager and click on the dmenu executable it runs and puts the entry bar at the top of the screen!! it does not launch anything or autocomplete but hey thats a start! Its almost as if it doesnt think there are any apps.

Do you think stest might have something to do with it not grabbing the list of apps?

Pretty neat!
 
Last edited:
dmenu_path is still not executable

Copy and paste is not always a good idea, as i did a mistake, now corrected, ;)
 
Made dmenu_path executable, still no joy with opening apps.

Code:
Acanthus:~/dmenu$ ls -l

total 152

-rw-r--r-- 1 d0 root  1442 Jul 25 13:53 LICENSE

-rw-r--r-- 1 d0 root  2130 Jul 25 13:53 Makefile

-rw-r--r-- 1 d0 root   475 Jul 25 13:53 README

-rw-r--r-- 1 d0 root  1011 Jul 25 13:53 arg.h

-rw-r--r-- 1 d0 root   892 Jul 25 13:53 config.def.h

-rw-r--r-- 1 d0 root   892 Jul 26 15:20 config.h

-rw-r--r-- 1 d0 root   846 Jul 25 14:50 config.mk

-rwxr-xr-x 1 d0 root 19424 Jul 26 15:20 dmenu

-rw-r--r-- 1 d0 root  2765 Jul 25 13:53 dmenu.1

-rw-r--r-- 1 d0 root 16711 Jul 25 13:53 dmenu.c

-rw-r--r-- 1 d0 root 13308 Jul 26 15:20 dmenu.o

-rwxr-xr-x 1 d0 root   294 Jul 25 13:53 dmenu_path

-rwxr-xr-x 1 d0 root    58 Jul 25 13:53 dmenu_run

-rw-r--r-- 1 d0 root  9902 Jul 25 13:53 drw.c

-rw-r--r-- 1 d0 root  1659 Jul 25 13:53 drw.h

-rw-r--r-- 1 d0 root  6632 Jul 26 15:20 drw.o

-rwxr-xr-x 1 d0 root  5960 Jul 26 15:20 stest

-rw-r--r-- 1 d0 root  1530 Jul 25 13:53 stest.1

-rw-r--r-- 1 d0 root  3229 Jul 25 13:53 stest.c

-rw-r--r-- 1 d0 root  3304 Jul 26 15:20 stest.o

-rw-r--r-- 1 d0 root   482 Jul 25 13:53 util.c

-rw-r--r-- 1 d0 root   305 Jul 25 13:53 util.h

-rw-r--r-- 1 d0 root  1236 Jul 26 15:20 util.o
 
@directive0 : with the PATH command I give earlier? starting from /media/d0/dmenu ?

*EDIT* Wait? You are on the NAND now?
And your chown on all the file is not good, they are still on the "root" group.
 
It works, fully works. Opens apps, auto completes. This is fantastic. I use it in /home/d0/dmenu, not media, just for clarity.

So, again, can I ask what the PATH string is doing in this situation, just for my own education? Will it need to be invoked everytime I use this executable? Will it factor into packaging this app into PND?


*edit:

I notice it doesn't seem to recognize any of the PNDs I have in my menu, I suppose since the PND system is different from the standard method of installing programs dmenu will have to be modified?
 
the PATH environnement variable list all the folders where program are looked for. So you need, in a way or in an other, to add the folder that have dmenu and all it's componant in it.

Using a command like
Code:
PATH=$(pwd):$PATH ./dmenu_path
means that:
1. Your are changing the PATH env. variable temporary, just for that command (here "./dmenu_path")
2. You are are adding the result of the program "pwd" (with $(ANYCOMMAND) ) to the current content of PATH (with $PATH), sepearte by ":"

Now, the program copy itself in a Cache somewhere, I haven't anaylised what it does in detail, but I understand that PATH command is not required?
 
@ptitSeb Okay thats a great primer, I'll do more research on my own. Thank you

@canseco Thank you for the link, I'll study that as well.

So I think I'm going to start over, just for my own practice. I'll clone it onto my SD card instead of NAND and do each step individually again.
 
I fixed the chmod commands in my above post. Would the following have correctly changed the group away from root?

Code:
sudo chown -R <insert your user name here>:<insert your group name here> .
 
I re-cloned on my SD card just to make sure I know what I'm doing. Compiles fine. I'm at the step where I change the ownership of all the files

Code:
Acanthus:/media/RUBICON/test/dmenu$ sudo chown -R d0 .

Password:

chown: changing ownership of `./.git/refs/heads/master': Operation not permitted

chown: changing ownership of `./.git/refs/heads': Operation not permitted

chown: changing ownership of `./.git/refs/tags': Operation not permitted

chown: changing ownership of `./.git/refs/remotes/origin/HEAD': Operation not permitted

chown: changing ownership of `./.git/refs/remotes/origin': Operation not permitted

chown: changing ownership of `./.git/refs/remotes': Operation not permitted

chown: changing ownership of `./.git/refs': Operation not permitted

chown: changing ownership of `./.git/info/exclude': Operation not permitted

chown: changing ownership of `./.git/info': Operation not permitted

chown: changing ownership of `./.git/hooks/commit-msg.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/pre-rebase.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/post-update.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/update.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/applypatch-msg.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/pre-commit.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/post-receive.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/pre-applypatch.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/prepare-commit-msg.sample': Operation not permitted

chown: changing ownership of `./.git/hooks/post-commit.sample': Operation not permitted

chown: changing ownership of `./.git/hooks': Operation not permitted

chown: changing ownership of `./.git/description': Operation not permitted

chown: changing ownership of `./.git/branches': Operation not permitted

chown: changing ownership of `./.git/objects/pack/pack-771489359f245e05e8c1dce68a57251f46f9d6ca.pack': Operation not permitted

chown: changing ownership of `./.git/objects/pack/pack-771489359f245e05e8c1dce68a57251f46f9d6ca.idx': Operation not permitted

chown: changing ownership of `./.git/objects/pack': Operation not permitted

chown: changing ownership of `./.git/objects/info': Operation not permitted

chown: changing ownership of `./.git/objects': Operation not permitted

chown: changing ownership of `./.git/HEAD': Operation not permitted

chown: changing ownership of `./.git/config': Operation not permitted

chown: changing ownership of `./.git/logs/refs/heads/master': Operation not permitted

chown: changing ownership of `./.git/logs/refs/heads': Operation not permitted

chown: changing ownership of `./.git/logs/refs': Operation not permitted

chown: changing ownership of `./.git/logs/HEAD': Operation not permitted

chown: changing ownership of `./.git/logs': Operation not permitted

chown: changing ownership of `./.git/packed-refs': Operation not permitted

chown: changing ownership of `./.git/index': Operation not permitted

chown: changing ownership of `./.git': Operation not permitted

chown: changing ownership of `./LICENSE': Operation not permitted

chown: changing ownership of `./Makefile': Operation not permitted

chown: changing ownership of `./README': Operation not permitted

chown: changing ownership of `./arg.h': Operation not permitted

chown: changing ownership of `./config.def.h': Operation not permitted

chown: changing ownership of `./config.mk': Operation not permitted

chown: changing ownership of `./dmenu.1': Operation not permitted

chown: changing ownership of `./dmenu.c': Operation not permitted

chown: changing ownership of `./dmenu_path': Operation not permitted

chown: changing ownership of `./dmenu_run': Operation not permitted

chown: changing ownership of `./drw.c': Operation not permitted

chown: changing ownership of `./drw.h': Operation not permitted

chown: changing ownership of `./stest.1': Operation not permitted

chown: changing ownership of `./stest.c': Operation not permitted

chown: changing ownership of `./util.c': Operation not permitted

chown: changing ownership of `./util.h': Operation not permitted

chown: changing ownership of `./config.h': Operation not permitted

chown: changing ownership of `./dmenu.o': Operation not permitted

chown: changing ownership of `./drw.o': Operation not permitted

chown: changing ownership of `./util.o': Operation not permitted

chown: changing ownership of `./dmenu': Operation not permitted

chown: changing ownership of `./stest.o': Operation not permitted

chown: changing ownership of `./stest': Operation not permitted

chown: changing ownership of `.': Operation not permitted

Why would it give me grief on my SD card?

Well regardless. It works and I can get it working. So what are the next steps? How can I go about getting dmenu to recognize PND apps? Should I begin assembling things necessary for the PND?
 
Last edited:
@directive0 : better to first create a folder, take ownership of that folder, then put all your sources there. So based of what I uderstand of your setup
Code:
cd /media/RUBICON/
mkdir sources
sudo chown d0:d0 sources
cd sources
git blablabla....
 
@ptitSeb

Okay, will try right now. Thank you.

edit: Ugh, it's giving me problems again.

Code:
Acanthus:/media/RUBICON$ sudo chown d0:d0 sources

Password: 

chown: changing ownership of `sources': Operation not permitted

I guess my card isn't properly set up with the right permissions/ownership.
 
Last edited:
Why would it give me grief on my SD card?
If you can't change file rights and ownership as root, it's either because they can't be changed (e.g. mounted read-only) or they don't even exist in the first place - FAT32 has no support for such attributes.
 
Back
Top