<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Don&#x27;t have permission to exec library in cache directory]]></title><description><![CDATA[<p dir="auto">I am making a GUI for transmission-cli (<a href="https://forums.ubports.com/topic/5698/need-testers-transmission-client">tested this</a>)<br />
Communication with the program is carried out through subprocess.</p>
<pre><code>self.PROCESS = subprocess.Popen(cmd_args,
                                stdout=subprocess.PIPE,
                                stderr=subprocess.STDOUT,
                                universal_newlines=True,
                                cwd=path)
</code></pre>
<p dir="auto"><a href="https://github.com/pavelprosto94/transmission/blob/main/src/main.py#L190" target="_blank" rel="noopener noreferrer nofollow ugc">it's this line</a></p>
<p dir="auto">The library works, is in the cache directory of the program, runs from the cache directory, loads everything into the cache directory, the working files of the program are in the cache directory. <strong>EVERYTHING IS IN THE CASH DIRECTORY</strong><br />
But if you run the program without <code>"template": "unconfined"</code> in <strong>transmission.apparmor</strong>, the library will give an error:<br />
<code>[Error 13] Permission denied</code></p>
<p dir="auto">I tried to execute simpler commands (<code>ls</code>, <code>echo</code>) and I got an error:<br />
<code>[Error 13] Permission denied</code><br />
Does anyone have any idea what permission can be given to the program so that it can work without the <code>template : unconfined</code></p>
<p dir="auto"><a href="https://github.com/pavelprosto94/transmission" target="_blank" rel="noopener noreferrer nofollow ugc">Source code here</a></p>
]]></description><link>https://forums.ubports.com/topic/5711/don-t-have-permission-to-exec-library-in-cache-directory</link><generator>RSS for Node</generator><lastBuildDate>Sat, 16 May 2026 05:04:45 GMT</lastBuildDate><atom:link href="https://forums.ubports.com/topic/5711.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Feb 2021 02:07:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Wed, 17 Feb 2021 01:33:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/cibersheep" aria-label="Profile: cibersheep">@<bdi>cibersheep</bdi></a> Yes,I want to write a guide. But first I need to make sure it works for all console programs.<br />
I tried, add the <a href="https://forums.ubports.com/topic/5525/python-examples/">previous guides</a> in github<br />
<a href="https://docs.ubports.com/en/latest/appdev/guides/index.html" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.ubports.com/en/latest/appdev/guides/index.html</a></p>
<p dir="auto">But something didn't work out for me. I try will do this in spare time <img src="https://forums.ubports.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=bc7965752a7" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://forums.ubports.com/post/46713</link><guid isPermaLink="true">https://forums.ubports.com/post/46713</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Wed, 17 Feb 2021 01:33:01 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Tue, 16 Feb 2021 20:28:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pavelprosto" aria-label="Profile: pavelprosto">@<bdi>pavelprosto</bdi></a> said in <a href="/post/46683">Don't have permission to exec library in cache directory</a>:</p>
<blockquote>
<p dir="auto">If someone needs to create a front-end wrapper for a binary console program, here's how it can be implemented</p>
</blockquote>
<p dir="auto">Have you thought about joining forces with <a class="plugin-mentions-user plugin-mentions-a" href="/user/aarontheissueguy" aria-label="Profile: aarontheissueguy">@<bdi>aarontheissueguy</bdi></a> and creating a git*b project for the template?</p>
]]></description><link>https://forums.ubports.com/post/46693</link><guid isPermaLink="true">https://forums.ubports.com/post/46693</guid><dc:creator><![CDATA[CiberSheep]]></dc:creator><pubDate>Tue, 16 Feb 2021 20:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Tue, 16 Feb 2021 17:55:05 GMT]]></title><description><![CDATA[<p dir="auto">If someone needs to create a front-end wrapper for a binary console program, here's how it can be implemented</p>
<p dir="auto">create global environment<br />
<strong><a href="http://glob.py" target="_blank" rel="noopener noreferrer nofollow ugc">glob.py</a></strong></p>
<pre><code>import os

APP_PKG_NAME = os.path.abspath(__file__)
APP_PKG_NAME = APP_PKG_NAME[APP_PKG_NAME.find(".com/")+5:]
APP_PKG_NAME = APP_PKG_NAME[:APP_PKG_NAME.find("/")]
SCRIPTPATH = os.path.abspath(__file__)
SCRIPTPATH = SCRIPTPATH[:SCRIPTPATH.rfind('/')]

CACHEPATH = "/home/phablet/.cache/"+APP_PKG_NAME
DATAPATH = "/home/phablet/.local/share/"+APP_PKG_NAME
CONFIGPATH = "/home/phablet/.config/"+APP_PKG_NAME

DOWNLOADPATH = CACHEPATH+"/Download"
TMPPATH = CACHEPATH+"/tmp"
RESUMEPATH   = CACHEPATH+"/resume/"
TORRENTSPATH = CACHEPATH+"/torrents/"

MY_ENV = {"HOME" : CACHEPATH }
MY_ENV["PWD"] = CACHEPATH
MY_ENV["TMPDIR"] = CACHEPATH+"/tmp"
MY_ENV["PATH"] = DATAPATH+"/transmission/bin"
MY_ENV["LD_LIBRARY_PATH"] = DATAPATH+"/transmission/lib/"
MY_ENV["PKG_CONFIG_PATH"] = DATAPATH+"/transmission/lib/pkgconfig"

if not os.path.exists(DATAPATH):
    try:
        os.makedirs(DATAPATH)
    except Exception as e:
        print("Can't create DATAPATH dir:\n"+DATAPATH)
        print(e)

if not os.path.exists(CONFIGPATH):
    try:
        os.makedirs(CONFIGPATH)
    except Exception as e:
        print("Can't create CONFIGPATH dir:\n"+CONFIGPATH)
        print(e)

if not os.path.exists(CACHEPATH):
    try:
        os.makedirs(CACHEPATH)
    except Exception as e:
        print("Can't create CACHEPATH dir:\n"+CACHEPATH)
        print(e)

if not os.path.exists(DOWNLOADPATH):
    try:
        os.makedirs(DOWNLOADPATH)
    except Exception as e:
        print("Can't create DOWNLOAD dir:\n"+DOWNLOADPATH)
        print(e)

if not os.path.exists(TMPPATH):
    try:
        os.makedirs(TMPPATH)
    except Exception as e:
        print("Can't create TMP dir:\n"+TMPPATH)
        print(e)
</code></pre>
<p dir="auto"><strong>Correct location of all files is very important!!!</strong><br />
<strong>DATAPATH:</strong> contains all executables and libraries<br />
<strong>CONFIGPATH:</strong> contains the settings for your application. But not settings for a binary console program, its settings must be stored in <strong>CACHEPATH</strong><br />
<strong>CACHEPATH:</strong> contains all files resulting from program execution.<br />
Now you will be able to launch and communicate with the console program through your environment:</p>
<pre><code>...
import subprocess
import re
import shlex
import glob
...
CMD="transmission-show"
def strip_color(s):
   return re.sub('\x1b\\[(K|.*?m)', '', s)

def _process(command_string, path=""):
       cmd_args = shlex.split(command_string)
       try:
           PROCESS = subprocess.Popen(cmd_args,
                               stdout=subprocess.PIPE,
                               stderr=subprocess.STDOUT,
                               universal_newlines=True,
                               shell=False,
                               executable=None,
                               env=glob.MY_ENV,
                               cwd=path)
       except Exception as e:
           yield strip_color(str(e))
       else:
           for stdout_line in iter(PROCESS.stdout.readline, ''):
               yield strip_color(stdout_line)
           PROCESS.stdout.close()
           return_code = PROCESS.wait()
           if return_code:
               raise subprocess.CalledProcessError(return_code, command_string)
...
for stdout_line in _process(CMD+" \""+FILENAME+"\"", glob.CACHEPATH):
   print(stdout_line)
...
</code></pre>
]]></description><link>https://forums.ubports.com/post/46683</link><guid isPermaLink="true">https://forums.ubports.com/post/46683</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Tue, 16 Feb 2021 17:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Tue, 16 Feb 2021 17:39:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a> <strong>THANK YOU VERY MUCH!</strong><br />
It is fantastic! Everything works with <strong>safe permission</strong> <img src="https://forums.ubports.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=bc7965752a7" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /><br />
I finish the final touches and publish in OpenStore <img src="https://forums.ubports.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f618.png?v=bc7965752a7" class="not-responsive emoji emoji-android emoji--kissing_heart" style="height:23px;width:auto;vertical-align:middle" title=":*" alt="😘" /></p>
]]></description><link>https://forums.ubports.com/post/46681</link><guid isPermaLink="true">https://forums.ubports.com/post/46681</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Tue, 16 Feb 2021 17:39:48 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 22:05:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pavelprosto" aria-label="Profile: pavelprosto">@<bdi>pavelprosto</bdi></a> OK. So, yes, apps cannot execute things in the cache or config directories for the app, but can execute things from the app's data directory <code>~/.local/share/${APP_PKG_NAME}/</code> instead.</p>
<p dir="auto">Also, cache is things expected to be OK for the user to remove and have the app still working. I suspect your app shouldn't be unpacking transmission into the cache directory on every start.</p>
<p dir="auto">Rather, my best suggestion is still to include the transmission binaries in the click package itself, and have them installed alongside your app's python and QML. <code>lib/${ARCH_TRIPLET}/bin</code> inside your click package, is already in the <code>${PATH}</code> for your app, and <code>lib/${ARCH_TRIPLET}</code> already part of <code>${LD_LIBRARY_PATH}</code>, so you don't need to mess with the environment like that, either.</p>
]]></description><link>https://forums.ubports.com/post/46643</link><guid isPermaLink="true">https://forums.ubports.com/post/46643</guid><dc:creator><![CDATA[dobey]]></dc:creator><pubDate>Mon, 15 Feb 2021 22:05:53 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 21:41:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/keneda" aria-label="Profile: keneda">@<bdi>keneda</bdi></a> I also find it strange. libertine is not used in my program, where it came from, I don't understand</p>
]]></description><link>https://forums.ubports.com/post/46641</link><guid isPermaLink="true">https://forums.ubports.com/post/46641</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 21:41:07 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 21:09:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a> command:</p>
<pre><code>transmission-cli --config-dir "/home/phablet/.cache/transmission.pavelprosto/" -p 51414 -w "/home/phablet/.cache/transmission.pavelprosto/Download/" -d 1024 -u 256 -ep "/home/phablet/.cache/transmission.pavelprosto/manjaro-kde-20.2.1-210103-linux59.iso.torrent"
</code></pre>
<p dir="auto">Environment:<br />
"HOME" : "/home/phablet/.cache/transmission.pavelprosto/"<br />
"PWD" : "/home/phablet/.cache/transmission.pavelprosto/"<br />
"TMPDIR" : "/home/phablet/.cache/transmission.pavelprosto/tmp"<br />
"PATH" : "/home/phablet/.cache/transmission.pavelprosto//transmission/bin"<br />
"LD_LIBRARY_PATH" : "/home/phablet/.cache/transmission.pavelprosto/transmission/lib/"<br />
"PKG_CONFIG_PATH" : "/home/phablet/.cache/transmission.pavelprosto/transmission/lib/pkgconfig"</p>
]]></description><link>https://forums.ubports.com/post/46639</link><guid isPermaLink="true">https://forums.ubports.com/post/46639</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 21:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 20:54:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pavelprosto" aria-label="Profile: pavelprosto">@<bdi>pavelprosto</bdi></a> said in <a href="/post/46627">Don't have permission to exec library in cache directory</a>:</p>
<blockquote>
<p dir="auto">Because this is a QML + Python project.<br />
I included transmission in the project, everything exactly turns out this error.</p>
</blockquote>
<p dir="auto">Sure, but you can build separate click packages for each architecture, which pulls the approriate transmission binaries in, and will reduce the size of your package versus shipping the same thing on all architectures.</p>
<p dir="auto">Also, please can you state the exact command line which your app is trying to run with <code>subprocess.Popen</code> here? I see in your code that you're raising an exception which includes that, but I have not seen that posted here. Also, it looks like you're defining <code>CACHEPATH</code> based on the path of <code>__file__</code> which should I guess be pointing at the installed path of your package.</p>
]]></description><link>https://forums.ubports.com/post/46637</link><guid isPermaLink="true">https://forums.ubports.com/post/46637</guid><dc:creator><![CDATA[dobey]]></dc:creator><pubDate>Mon, 15 Feb 2021 20:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 20:50:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a><br />
I'm not a dev, but that made me wonder : why a "native" uTouch click app would trigger libertine?</p>
]]></description><link>https://forums.ubports.com/post/46636</link><guid isPermaLink="true">https://forums.ubports.com/post/46636</guid><dc:creator><![CDATA[Keneda]]></dc:creator><pubDate>Mon, 15 Feb 2021 20:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 20:37:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a> There were no other messages</p>
]]></description><link>https://forums.ubports.com/post/46634</link><guid isPermaLink="true">https://forums.ubports.com/post/46634</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 20:37:20 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 20:28:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pavelprosto" aria-label="Profile: pavelprosto">@<bdi>pavelprosto</bdi></a> Those denials are about libertine dbus service, not executing files in the cache directory; so you can ignore them.</p>
]]></description><link>https://forums.ubports.com/post/46633</link><guid isPermaLink="true">https://forums.ubports.com/post/46633</guid><dc:creator><![CDATA[dobey]]></dc:creator><pubDate>Mon, 15 Feb 2021 20:28:23 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 19:12:53 GMT]]></title><description><![CDATA[<p dir="auto">Updated!<br />
<code>tail -f /var/log/syslog</code></p>
<pre><code>Feb 15 22:10:55 ubuntu-phablet dbus[2547]: apparmor="DENIED" operation="dbus_method_call"  bus="session" path="/com/canonical/libertine/Service/Operations" interface="com.canonical.libertine.Service.Operations" member="list" mask="send" name="com.canonical.libertine.Service" pid=11834 label="transmission.pavelprosto_transmission_1.0.1" peer_pid=3517 peer_label="unconfined"
Feb 15 22:10:55 ubuntu-phablet dbus[2547]: apparmor="DENIED" operation="dbus_method_call"  bus="session" path="/com/canonical/libertine/Service/OperationsMonitor" interface="com.canonical.libertine.Service.OperationsMonitor" member="running" mask="send" name="com.canonical.libertine.Service" pid=11834 label="transmission.pavelprosto_transmission_1.0.1" peer_pid=3517 peer_label="unconfined"
Feb 15 22:10:55 ubuntu-phablet dbus[2547]: apparmor="DENIED" operation="dbus_method_call"  bus="session" path="/com/canonical/libertine/Service/OperationsMonitor" interface="com.canonical.libertine.Service.OperationsMonitor" member="last_error" mask="send" name="com.canonical.libertine.Service" pid=11834 label="transmission.pavelprosto_transmission_1.0.1" peer_pid=3517 peer_label="unconfined"
Feb 15 22:10:55 ubuntu-phablet dbus[2547]: apparmor="DENIED" operation="dbus_method_call"  bus="session" path="/com/canonical/libertine/Service/OperationsMonitor" interface="com.canonical.libertine.Service.OperationsMonitor" member="result" mask="send" name="com.canonical.libertine.Service" pid=11834 label="transmission.pavelprosto_transmission_1.0.1" peer_pid=3517 peer_label="unconfined"
</code></pre>
]]></description><link>https://forums.ubports.com/post/46628</link><guid isPermaLink="true">https://forums.ubports.com/post/46628</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 19:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 19:07:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a> Because this is a QML + Python project.<br />
I included transmission in the project, everything exactly turns out this error.</p>
<pre><code>[Error 13] Permission denied
</code></pre>
<p dir="auto">transmission is unpacked and launched from the cache directory, because I wanted to make it possible to use armhl or arm64 binaries(depending on the type of operating system).<br />
Therefore, unpacking and working in the cache directory is the best option.<br />
about <code>tail -f /var/log/syslog</code></p>
<pre><code>Feb 15 21:59:01 ubuntu-phablet kernel: [35852.054250] android_work: sent uevent USB_STATE=CONFIGURED
Feb 15 21:59:01 ubuntu-phablet kernel: [35852.127191] mtp_open
Feb 15 21:59:02 ubuntu-phablet kernel: [35853.214266] bq24192_set_input_i_limit: input current limit = 500 setting 0x02
Feb 15 21:59:06 ubuntu-phablet kernel: [35857.173828] lm3630_backlight_off
Feb 15 21:59:06 ubuntu-phablet kernel: [35857.416723] mdss_dsi_panel_off:
Feb 15 21:59:06 ubuntu-phablet kernel: [35857.440202] [Touch] touch off
Feb 15 21:59:06 ubuntu-phablet kernel: [35857.558167] [Touch] touch on
Feb 15 21:59:06 ubuntu-phablet kernel: [35857.757974] mdss_dsi_panel_on
Feb 15 21:59:07 ubuntu-phablet kernel: [35857.822296] lm3630_backlight_on
Feb 15 21:59:47 ubuntu-phablet kernel: [35898.197099] max17048_work: rsoc=0xC121 rvcell=0x0D99 soc=99 v_mv=4351 i_ua=-183791 t=204
Feb 15 22:00:10 ubuntu-phablet dbus[823]: [system] Activating service name='com.canonical.PropertyService' (using servicehelper)
Feb 15 22:00:10 ubuntu-phablet dbus[823]: [system] Successfully activated service 'com.canonical.PropertyService'
Feb 15 22:01:26 ubuntu-phablet kernel: [35997.549041] max17048_work: rsoc=0xC20E rvcell=0x0D99 soc=100 v_mv=4351 i_ua=-164215 t=221
Feb 15 22:03:30 ubuntu-phablet kernel: [36120.885950] max17048_work: rsoc=0xC323 rvcell=0x0D9A soc=100 v_mv=4352 i_ua=-153072 t=231
</code></pre>
<p dir="auto">no messages from my program <img src="https://forums.ubports.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=bc7965752a7" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title=":(" alt="😞" /></p>
]]></description><link>https://forums.ubports.com/post/46627</link><guid isPermaLink="true">https://forums.ubports.com/post/46627</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 19:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 18:15:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pavelprosto" aria-label="Profile: pavelprosto">@<bdi>pavelprosto</bdi></a> Why aren't you including pre-built transmission binaries in the click package, instead of trying to install in the cache directory after?</p>
<p dir="auto">You can use the terminal app, or ssh or adb connection to your phone, and <code>tail -f /var/log/syslog</code> to check it.</p>
]]></description><link>https://forums.ubports.com/post/46620</link><guid isPermaLink="true">https://forums.ubports.com/post/46620</guid><dc:creator><![CDATA[dobey]]></dc:creator><pubDate>Mon, 15 Feb 2021 18:15:14 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 17:33:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a> As I understand it, the problem lies in creating an isolated environment.<br />
In these lines, I am creating an isolated environment:<br />
<a href="https://github.com/pavelprosto94/transmission/blob/main/src/main.py#L28" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/pavelprosto94/transmission/blob/main/src/main.py#L28</a></p>
<p dir="auto">But this is not enough. Apparently I need to add some permissions to read the system catalogs</p>
]]></description><link>https://forums.ubports.com/post/46618</link><guid isPermaLink="true">https://forums.ubports.com/post/46618</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 17:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 17:30:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dobey" aria-label="Profile: dobey">@<bdi>dobey</bdi></a> how can i watch the command execution <code>in /var/log/syslog</code> ?<br />
I have compiled <strong>transmission-cli</strong> and it works<br />
I communicate with this console program via <strong>subprocess</strong>.<br />
Currently, the application can only run through the <strong>unconfined apparmor</strong>. Which is not very safe.<br />
I'm trying to figure out what permissions I need to add so that <strong>transmission-cli</strong> can work with fixed permissions.</p>
<p dir="auto">In the program log I get only one message:<br />
<code>[Error 13] Permission denied</code><br />
What exactly is prohibited, why does it not tell</p>
]]></description><link>https://forums.ubports.com/post/46617</link><guid isPermaLink="true">https://forums.ubports.com/post/46617</guid><dc:creator><![CDATA[pavelprosto]]></dc:creator><pubDate>Mon, 15 Feb 2021 17:30:36 GMT</pubDate></item><item><title><![CDATA[Reply to Don&#x27;t have permission to exec library in cache directory on Mon, 15 Feb 2021 17:17:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pavelprosto" aria-label="Profile: pavelprosto">@<bdi>pavelprosto</bdi></a> What is the exact command and log message? Why is it trying to execute things from cache directory? There should also be an apparmor denial message either in your app's log file, or in <code>/var/log/syslog</code> when the command is attempted, assuming it is an apparmor denial causing the issue.</p>
]]></description><link>https://forums.ubports.com/post/46616</link><guid isPermaLink="true">https://forums.ubports.com/post/46616</guid><dc:creator><![CDATA[dobey]]></dc:creator><pubDate>Mon, 15 Feb 2021 17:17:58 GMT</pubDate></item></channel></rss>