It seems the recent change to load Timidity++ as the "timidity" user causes problems (-r5 worked fine, -r6 breaks.) $ /etc/init.d/timidity start * Caching service dependencies ... [ ok ] * Starting TiMidity++ Virtual Midi Sequencer ... [ !! ] This isn't really helpful, so I removed "--background" from start-stop-daemon and added it to Timidity++ itself, as Timidity supports backgrounding: start-stop-daemon --start --chuid timidity:nobody \ --make-pidfile --pidfile /var/run/timidity.pid \ --exec /usr/bin/timidity -- --background -iA ${TIMIDITY_OPTS} This then gave some more helpful errors: $ /etc/init.d/timidity start * Caching service dependencies ... [ ok ] * Starting TiMidity++ Virtual Midi Sequencer ... ~/.timidity/current/timidity.cfg: Permission denied timidity: Can't read any configuration file. Please check /usr/share/timidity/timidity.cfg Not knowing what the problem is, I made start-stop-daemon load bash instead of timidity, which revealed the problem: $ /etc/init.d/timidity start * Caching service dependencies ... [ ok ] * Starting TiMidity++ Virtual Midi Sequencer ... bash: /root/.bashrc: Permission denied $ whoami timidity $ ls ~ ls: cannot open directory /root: Permission denied It looks like the config files will need to be changed, or maybe the timidity user's home directory could be corrected if that would work (which means any eselect changes made by root wouldn't work unless --global was used.)
Oops, minor correction - it seems adding "--background" doesn't always work with Timidity - changing "-iA" to "-iAD" does the trick, remembering to remove --background from start-stop-daemon.
HOME=/root , so timitidy fails to load the root user config, so then it should revert to system default.
(In reply to comment #2) > HOME=/root , so timitidy fails to load the root user config, so then it should > revert to system default. > I strace'd timidity and it tries the files in corect order "current/timidity.cfg", "/usr/share/timidity/current/timidity.cfg" and ".timidity/timidity.cfg" . Which seems to be ok according to /usr/share/timidity/timidity.cfg, except the first one in the current dir. The main problem is, that when timidity gets an ENOENT (file not found), it tries the others, but when it gets EACCES (permission denied) it just aborts. Which means that if it is run as timidity:nobody from /root, it stops on the first file. Adding --chdir / to start-stop-daemon in /etc/init.d/timidity helps ;) Another problem for me was, that even when timidity user has audio as base group, timidity could not access /dev/snd/*, (seems due to the way start-stop-daemon changes the user/group) so i also changed timidity:nobody to timidity:audio
<bump> Any progress being made on this?
The broken version of timidity++ has now been marked stable on amd64 so I have been hit by this issue too.
Flameeyes, IIRC, you made the init script changes and are familiar with them. Can you sort this out? The version is going stable and others are leaving the tree with Portaudio v18.
regarding the /etc/timidity.cfg i see no reason to have "dir ~/.timidity" enabled by default. The eselect timidity already create the current symlink in /usr/share/timidity. So if the preferred way for start timidity is from the init script there's no reason to have a redundant symlink created in /root (that can even raise permission problems like just happened) IMHO will be a cleaner solution comment that line (with a little explanation, why not?) so the user really interested to override the default behavior (and knowing what he's doing) can do the choice.
in my case this was resolved by changing --chuid timidity:nobody to --chuid timidity:audio in /etc/init.d/timidity
I've changed my initscript to "timidity:audio" and it seems to work too.
Changing to "timidity:audio" worked for me too!
Confirmed here as well
I got version 2.13.2-r7 and the same error yet none of the above suggested works. Even chmoding the files with a+rwx doesnt solve the problem
root:audio needed here :-(
start-stop-daemon --start --background --chdir /usr/share/timidity --chuid timidity:audio --make-pidfile --pidfile /var/run/timidity.pid --exec /usr/bin/timidity -- -iA Try this...
(In reply to comment #14) > start-stop-daemon --start --background --chdir /usr/share/timidity --chuid > timidity:audio --make-pidfile --pidfile /var/run/timidity.pid --exec > /usr/bin/timidity -- -iA > > > Try this... > works for me.
(In reply to comment #15) > (In reply to comment #14) > > start-stop-daemon --start --background --chdir /usr/share/timidity --chuid > > timidity:audio --make-pidfile --pidfile /var/run/timidity.pid --exec > > /usr/bin/timidity -- -iA > > > > > > Try this... > > > > works for me. > Will this go into portage sometime ?
I've added -r8 with these changes in last comments.
*** Bug 203092 has been marked as a duplicate of this bug. ***
*** Bug 256233 has been marked as a duplicate of this bug. ***