我试图在LTSP系统上的本地应用程序中打开文件。 但是,如果path名包含重音字符,如é ,则无法打开,因为URI似乎编码错误。
问题似乎是在gvfs-open发送文件URI的方式:
gvfs-open /home/user/testé/test.mov VLC is unable to open the MRL 'file:///home/user/test303251/test.mov'.
从应用程序本身打开相同的文件(使用文件>打开..)不会有任何问题。
空格和逗号似乎编码不同,%20,并没有给出任何问题。
gvfs-open /home/user/this is testé/test.mov VLC is unable to open the MRL 'file:///home/user/this%20is%20test303251/test.mov'.
任何想法如何可以解决?
我find了解决scheme,并提出了一个错误: https : //bugs.launchpad.net/ubuntu/+source/ltsp/+bug/1451915
这是由LTSP打开本地应用程序的方式造成的:LTSP设置一个包含命令和参数的X属性,这个属性在客户端读取并执行。
/usr/bin/vlc --started-from-file %U
被客户取代
xprop -root -f LTSP_COMMAND 8s -set LTSP_COMMAND "/usr/bin/vlc --started-from-file %U"
但是这使用了一个8位编码。 如果将“8s”更改为“8u”,则将使用UTF-8 unicodestring,这似乎解决了问题。
需要更改的文件是:
/opt/ltsp/i386/usr/bin/ltsp-genmenu