我为更改所有者和文件权限编写了 Postinst 脚本:
chown -R $(whoami) ~/Desktop/my_file.desktop
chmod 777 ~/Desktop/my_file.desktop
但安装后它什么也不做。
我真的不明白脚本的哪一部分是错误的。请告诉如何在 Postinst 脚本中动态获取用户名?
我为更改所有者和文件权限编写了 Postinst 脚本:
chown -R $(whoami) ~/Desktop/my_file.desktop
chmod 777 ~/Desktop/my_file.desktop
但安装后它什么也不做。
我真的不明白脚本的哪一部分是错误的。请告诉如何在 Postinst 脚本中动态获取用户名?
包安装root
无条件地运行为 。没有调用用户的概念;实际上,包安装可能发生在盒子上存在任何用户帐户之前。
非常不清楚您实际上希望实现什么,但看起来您的包可能应该简单地安装一个脚本,然后在用户运行它时执行任务。这也将方便地创建一个已由当前用户拥有的文件,而无需任何chown
技巧。
即使用户存在,也不能保证他们的Desktop
主目录中有目录,或者他们当前或曾经使用 GUI 登录。
最后,无论你试图做什么,chmod 777
都是错误和危险的。 您绝对不应该为每个人、任何事物分配写访问权限。
(好的,所以有两三个与系统管理相关的晦涩场景,这实际上是必需且有用的;否则从技术上讲,它可能一开始是不可能的。)