- 主题:QDir::homePath() 返回不同的结果在Ubuntu18 和20
1 Ubuntu 18
qDebug() << "Home Path" << QDir::homePath();
sudo ./myApp 输出 /home/cf
2. Ubuntu 20
sudo ./myApp 输出 /root
请问如何获知用户的 $HOME (/home/cf) 在 Ubuntu 20 多谢!
--
FROM 45.51.104.*
为啥要sudo?
【 在 mbdbk 的大作中提到: 】
: 1 Ubuntu 18
: qDebug() << "Home Path" << QDir::homePath();
: sudo ./myApp 输出 /home/cf
: ...................
--
修改:dormouseBHU FROM 223.104.3.*
FROM 223.104.3.*
这个是操作系统的问题。Qt 找的是 $HOME 变量。
两个输出都可以算是对的。
【 在 mbdbk (mbdbk) 的大作中提到: 】
: 1 Ubuntu 18
: qDebug() << "Home Path" << QDir::homePath();
: sudo ./myApp 输出 /home/cf
: ...................
--
修改:hgoldfish FROM 110.81.40.*
FROM 110.81.40.*
因为需要写文件到 /usr/share/applications/,
所以需要 sudo ./myApp
【 在 dormouseBHU 的大作中提到: 】
: 为啥要sudo?
--
FROM 45.51.104.*
1 需要写文件到 /usr/share/applications/,
2 需要写文件到真正的 $HOME 下 (而不是/root/
仅仅ubuntu20 存在这个问题,ubuntu18 可以返回 用户的$HOME目录
【 在 mbdbk 的大作中提到: 】
: 因为需要写文件到 /usr/share/applications/,
: 所以需要 sudo ./myApp
--
FROM 45.51.104.*
把需要写usr/share/applications的部分隔离出来单独成为一个程序,需要的时候调用。或者直接找个你能访问的路径存数据。
过度使用 sudo 是个很不好的习惯。
【 在 mbdbk 的大作中提到: 】
: 因为需要写文件到 /usr/share/applications/,
: 所以需要 sudo ./myApp
--
FROM 120.244.156.*
真是蛋疼
【 在 mbdbk 的大作中提到: 】
: 1 Ubuntu 18
: qDebug() << "Home Path" << QDir::homePath();
: sudo ./myApp 输出 /home/cf
: ...................
--
FROM 61.148.244.*