BTW, for what it's worth it does still seem to be an apparmor issue. The output from dmesg is
``` [ 8087.871623] audit: type=1400 audit(1711117091.247:143): apparmor="DENIED" operation="exec" profile="/usr/bin/evince" name="/usr/local/bin/lilypond-wrapper.guile" pid=65082 comm="sh" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0 [ 8087.871694] audit: type=1400 audit(1711117091.247:144): apparmor="DENIED" operation="exec" profile="/usr/bin/evince" name="/usr/bin/lilypond-invoke-editor" pid=65082 comm="sh" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0 [ 8087.871698] audit: type=1400 audit(1711117091.247:145): apparmor="DENIED" operation="exec" profile="/usr/bin/evince" name="/usr/bin/lilypond-invoke-editor" pid=65082 comm="sh" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0 ``` On Fri, Mar 22, 2024 at 9:19 AM Tom Brennan <tjb1...@gmail.com> wrote: > > Hello > > (Note: this email uses markdown formatting.) > > It's been a while since I've used lilypond, and I had point and click > working on another system, but I can't remember what I did. I do > remember there were hiccups. Also, it was probably Arch Linux and now > the distro I'm using is Ubuntu 22.04, Lilypond version 2.22.2. > > I want to set up point and click with VS Code, ultimately, and I open > the pdf from a terminal emulator with xdg-open (I believe the app that > opens it is called "evince" but it just displays "Document Viewer". > > First I updated the `LYEDITOR` to point to VS Code with its required > CLI arguments. > > ``` > ~/Workspace/my-lilypond-project$ lilypond main.ly > ~/Workspace/my-lilypond-project$ xdg-open main.pdf > ~/Workspace/my-lilypond-project$ export LYEDITOR="code --goto > %(file)s:%(line)s:%(column)s" > ``` > > From there I right-clicked a clickable thing and copied its address to > try it out with the CLI: > > ``` > ~/Workspace/my-lilypond-project$ lilypond-invoke-editor > textedit:///home/tjb1982/Workspace/my-lilypond-project/./movement-foo/cello.ly:27:107:108 > ``` > > And this worked as expected, so then I went to configure xdg-mime to > handle the `x-scheme-handler/textedit` mimetype as per the docs > [here](https://lilypond.org/doc/v2.25/Documentation/usage/using-gnome-for-point-and-click). > > ```shell > ~/Workspace/my-lilypond-project$ cd /tmp > /tmp$ cat <<_EOF > lilypond-invoke-editor.desktop > [Desktop Entry] > Version=1.0 > Name=lilypond-invoke-editor > GenericName=Textedit URI handler > Comment=URI handler for textedit: > Exec=lilypond-invoke-editor %u > Terminal=false > Type=Application > MimeType=x-scheme-handler/textedit; > Categories=Editor > NoDisplay=true > _EOF > /tmp$ xdg-desktop-menu install ./lilypond-invoke-editor.desktop > /tmp$ xdg-mime default lilypond-invoke-editor.desktop > x-scheme-handler/textedit > /tmp$ cd - > ~/Workspace/my-lilypond-project$ lilypond main.ly > ~/Workspace/my-lilypond-project$ xdg-open main.pdf > ``` > > From here, clicking on a clickable item in the pdf results in the > console logging: > > ``` > sh: 1: exec: lilypond-invoke-editor: Permission denied > ``` > > I found the thread > [here](https://lists.gnu.org/archive/html/lilypond-user/2019-02/msg00276.html) > where David Sumbler figured out some required configuration for > apparmor and evince, so I tried to follow the same process. I already > had a file at `/etc/apparmor.d/usr.bin.evince`, so I edited the > `/usr/bin/evince` section of the file like this: > > ``` > /usr/bin/evince { > ... > /usr/local/bin/lilypond-invoke-editor Cx -> sanitized_helper, > } > ``` > > I ran the parser, double-checked that this is the actual location of > `lilypond-invoke-editor`, and restarted the apparmor service: > > ``` > ~$ sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.bin.evince > ~$ echo $? > 0 > ~$ which lilypond-invoke-editor > /usr/local/bin/lilypond-invoke-editor > ~$ sudo systemctl restart apparmor > ~$ sudo systemctl status apparmor > ● apparmor.service - Load AppArmor profiles > Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; > vendor preset: enabled) > Active: active (exited) since Fri 2024-03-22 09:12:02 EDT; 1s ago > Docs: man:apparmor(7) > https://gitlab.com/apparmor/apparmor/wikis/home/ > Process: 24362 ExecStart=/lib/apparmor/apparmor.systemd reload > (code=exited, status=0/SUCCESS) > Main PID: 24362 (code=exited, status=0/SUCCESS) > CPU: 161ms > > Mar 22 09:12:02 chester systemd[1]: Starting Load AppArmor profiles... > Mar 22 09:12:02 chester apparmor.systemd[24362]: Restarting AppArmor > Mar 22 09:12:02 chester apparmor.systemd[24362]: Reloading AppArmor profiles > Mar 22 09:12:02 chester apparmor.systemd[24379]: Skipping profile in > /etc/apparmor.d/disable: usr.sbin.rsyslogd > Mar 22 09:12:02 chester systemd[1]: Finished Load AppArmor profiles. > ``` > > This didn't change anything (still getting the permission denied error > when clicking). > > I also tried to stop the apparmor service and then reboot > > ``` > ~$ sudo systemctl stop apparmor > ~$ sudo systemctl disable apparmor > ``` > > This didn't have any effect. What should I try next? > > Thanks, > Tom