我安装了 Ubuntu Studio 21.04,我想在登录时自动打开电子表格。我已将 LibreOffice calc 包含在自动启动应用程序中,但我无法让它打开电子表格,只能打开带有空白电子表格的应用程序。我已编辑该应用程序的自动启动属性,使其指向电子表格:
'soffice --calc -o ⁄home⁄chris⁄Documents⁄Spreadsheets⁄Top\ 250\ films.ods'
如果我从终端运行此命令,电子表格会按预期打开,但不会自动启动。我尝试过在文件名中使用单引号、双引号和反斜杠,但结果都一样。
我究竟做错了什么?
答案1
你的字符串是:
'soffice --calc -o ⁄home⁄chris⁄Documents⁄Spreadsheets⁄Top\ 250\ films.ods'
而它应该是
'soffice --calc -o /home/chris/Documents/Spreadsheets/Top\ 250\ films.ods'
你看出区别了吗?可能看不出来。如果你看不出区别,那么echo
字符串 tocat -t
和 你会:
$ echo 'soffice --calc -o ⁄home⁄chris⁄Documents⁄Spreadsheets⁄Top\ 250\ films.ods' | cat -t
soffice --calc -o M-bM-^AM-^DhomeM-bM-^AM-^DchrisM-bM-^AM-^DDocumentsM-bM-^AM-^DSpreadsheetsM-bM-^AM-^DTop\ 250\ films.ods
$ echo 'soffice --calc -o /home/chris/Documents/Spreadsheets/Top\ 250\ films.ods' | cat -t
soffice --calc -o /home/chris/Documents/Spreadsheets/Top\ 250\ films.ods
您正在使用Unicode 分数斜线字符作为目录分隔符,而您必须使用ASCII 斜线特点。
答案2
FedonKadifeli 的回答是正确的,因为使用了错误的字符导致自动启动失败。我注意到,即使我将正确的字符粘贴或输入到自动启动 GUI 中,它也会将它们更改为错误的字符。
由于我注意到该命令在命令行中运行良好,因此我采取了一种解决方法,将其放入 shell 脚本中并从自动启动中启动该脚本。我的 shell 脚本的内容如下:
#!/usr/bin/env bash
soffice --calc -o /home/chris/Documents/Spreadsheets/Top\ 250\ films.ods
我不知道这个解决方法是否有任何缺点,所以我会接受它作为我的问题的答案。