因此,我尝试通过双击来执行 C 终端程序。我尝试通过 .desktop 文件执行此操作
- 桌面文件具有作为文件执行的权限,并且它位于我的桌面中。
- 该程序名为 teste,等待用户输入,它位于 /home/vithor/
- 我正在使用 PopOs(它是一个“ubuntu 发行版”);
- 我已经允许可执行文件在 nautilus 配置中启动;
[Desktop Entry]
Version=1.0
Name=ProgramName
Comment=This is my comment
Exec=/home/vithor/teste
Icon=/home/vithor/Pictures/Icons/books.png
Terminal=true
Type=Application
Categories=Utility;
~
但它不起作用,我做错了什么?或者我有什么其他选择,只需单击它即可运行 C 程序?
答案1
我假设该程序的名称是teste
,它位于您的主文件夹中。
从第一行删除
#!/usr/bin/env bash
。第一行应该是[Desktop Entry]
将条目更改
Exec
为Exec=/home/vithor/teste
将最后一行更改为
Categories=Utility
使用命令将.desktop 文件标记为可执行文件
chmod +x /path/to/file.desktop
。
现在,当您双击它时它应该可以工作。
但是,如果 C 程序应该在终端中打印而不执行其他任何操作,那么它将打印结果并快速关闭终端,您将看不到任何内容。在这种情况下,请更改源,使其等待您输入一些字符后再关闭。
示例代码:
#include <stdio.h>
void main(){
// your code here
int a;
printf("enter any character to terminate: ");
scanf("%d",&a);
}
现在使用以下代码编译代码
gcc path/to/source.c -o teste
答案2
使用此.desktop 文件:
[Desktop Entry]
Version=1.0
Name=ProgramName
Comment=This is my comment
Exec=x-terminal-emulator -e /bin/bash -c '/home/vithor/teste ; echo "" ; echo "Press Enter to close....." ; read'
Icon=/home/vithor/Pictures/Icons/books.png
Terminal=true
Type=Application
Categories=Utility;
它会打开一个终端,运行你的程序,并且在程序完成后,它会等到你按下 Enter 键才将其关闭。
顺便说一句,我已经测试过这个并且它确实有效。
如果这对您有用,请单击此答案左侧的勾号图标以接受该答案。