我有一个旧的 C 程序(2003 年),大约有 1600 个 SLOC,不是我写的。我编译时gcc
不使用标志。
问题是Files
程序显示的是文本文件图标而不是可执行文件,而 Ubuntu 根本不认为它是可执行文件。我尝试过chmod +x
,chmod 777
以及文件属性的权限选项卡Files
(可能使用了 chmod),但没有任何变化。
当我双击该文件时,我收到消息“没有为“共享库”文件安装应用程序”。
我可以从控制台运行它./
并且它可以正常工作。
另外,实际上我不想运行这个程序,而是将它交给另一个会使用该程序的应用程序。我无法做到这一点,因为这个应用程序使用标准(看起来是这样)Ubuntu“选择文件”窗口,并且文件格式设置为“可执行文件”,所以我无法在其中看到我的程序。
我相信如果我能看到它,这两个程序就能正确地一起运行。
答案1
Nautilus 默认处理可执行文件的方式有所改变。以前,当您双击某个文件时,它会询问您要做什么。现在,它会尝试使用应用程序打开该文件。
然后会弹出一个对话框,您可以选择执行文件,打开 Nautilus,转到Edit → Preferences → Behavior
并切换Executable Text Files
到Ask each time
。以前这是默认设置。但现在是“打开可执行文本文件时查看它们”,这意味着当您双击文件但找不到适合该文件类型的应用程序时,Nautilus 会搜索要用来打开该文件的应用程序。
我不建议切换它,Run executable text files when they are opened
以免您意外执行文件。