如何查找 Ubuntu 上应用程序的安装位置?

如何查找 Ubuntu 上应用程序的安装位置?

我安装了 InteliJ,我可以从 Ubuntu 侧边栏运行它。问题是,它以普通用户身份运行,而我,作为一个在意识形态上忽视安全性的 Windows 用户 :),想以 root 身份运行它。我该怎么做?我通常如何找到由 snap/GUI 安装程序在驱动器上安装的应用程序,以便能够在 SUDO 中运行它?

基本上我的问题是:安装并运行应用程序后,如何找到运行该应用程序的命令?

答案1

尝试

  • 跑步

    ps -eo pid,args | grep "your_command_name"
    
  • 找到你的命令,获取 PID 并执行

    ls -l /proc/$PID/exe
    

$PID使用第一个命令获得的 PID 在哪里)

如果你确定没有歧义,你甚至可以这样做:

ls -l /proc/$(ps -eo pid,args | grep "your_command_name" | grep -v grep | cut -d " " -f 1)/exe    

答案2

首先,我的应用程序最终在以下位置找到:

/snap/intellij-idea-community/177/bin/idea.sh

如何?

我尝试了“locate”命令,但我不知道启动 IntelliJ 的具体命令是什么(侧边栏没有提供它!!!真可惜你们的 Ubuntu 桌面制造商。这是最基本的……)。无论如何,尝试使用“locate”定位任何东西都会返回数千个答案……

所以,我想...为什么不直接运行它,然后检查任务管理器(“top”)并查看命令行。但是,默认情况下 top 不显示命令行,您需要添加“c”命令行,如下所示:

顶部

它列出了正在运行的应用程序 + 调用它们的命令。因此,我能够非常轻松地看到应用程序是如何被调用的,并且能够sudo 运行它:)

是的,我知道吸烟会致癌。我还是想 SUDO,可以吗?

相关内容