Unity Launcher上的C ++程序的自定义图标 - Ubuntu

时间:2015-11-20 22:42:33

标签: c++ eclipse ubuntu

我正在使用Ubuntu 15.10上的C ++编写程序。我在我的工作环境中使用Eclipse MARS.1。我使用GTK + 3.18.2作为接口的东西,我用GCC构建项目。

程序已完成,但有一个问题。当我构建程序,然后通过终端运行它(sudo ./programname)时,程序打开并运行,但Ubuntu左侧工具栏上的图标显示一个问号。更改实际的可执行文件图标我只需右键单击并将其设置为其他内容即可。这样做会给我带来相同的结果。

我想将其更改为我制作的自定义图标,即.xpm文件。我一直在做几个小时的研究来寻找解决方案,但大多数都是基于Windows的。我看到他们是如何在Windows中做到的。他们有一个resource.h文件,其中定义了图标,通常是这样的

icon.extensionname          128
<p>
file                        200
<p>
ect ect...

在其余部分之前定义了图标。

所以我的问题是,如何添加我的图标,以便在运行程序时,它显示在Unity Launcher而不是问号上?是否需要创建一个资源文件来定义.xpm文件,因此在编译时,它会在我开始运行程序时显示它,有点像Windows方法吗?

1 个答案:

答案 0 :(得分:0)

我很欣赏奥拉夫的时间和回应,但我想提出一个建议。如果你有一个点,那么在第一篇文章中说明它,而不是用多个帖子拖出它。 该问题的解决方案是创建桌面条目脚本,并将像素图图标添加到特定目录。我确保这是通过我编写的安装脚本自动完成的。

    [Desktop Entry]
    Version=1.0
    Name=name of desktop entry
    Comment=insert comment
    Exec=name of .exe
    Icon=name of logo
    Terminal=true
    Type=Application
    Categories=Application;

然后我不得不对我写的安装脚本进行更改。我将添加我所包含的行只是为了获取pixmap图标和.exe放在正确的位置以便它可以工作。

    sudo chmod 755 /usr/local/lib
    sudo chmod 755 /etc/ld.so.conf
    sudo chmod 755 /usr/share/pixmaps
    sudo chmod 755 /usr/share/applications
    sudo cp -r ./6100-C-Test/pertechlogo.xpm /usr/share/pixmaps
    sudo ldconfig /usr/local/lib
    sudo cp -r ./6100-C-Test/gtktest /usr/bin
    sudo cp -r ./6100-C-Test/pertechlogo.desktop /usr/share/applications

用户安装程序后,每次运行时都会显示图标。