Comment créer des icônes de raccourcis logiciels sous Linux

Tout d'abord, permettez-moi de décrire mon environnement. J'aime jouer, j'ai donc installé 3 systèmes d'exploitation sur mon ordinateur, à savoir ubuntu22.04, opensuse 15.5 et manjora. Je les utilise généralement de manière interchangeable. Ces trois systèmes utilisent des partitions root séparées / et /root respectivement, mais montent la même partition de données /u01 (stocke les fichiers de données et les logiciels, etc.)

Ces trois systèmes d'exploitation sont tous installés avec des logiciels que j'utilise habituellement, comme libreoffice, typora, etc.

Avant, il fallait installer la version deb du logiciel sur ubuntu, la version rpm du logiciel sur opensuse, et la version binaire du logiciel sur manjaro.

Plus tard, j'ai découvert que de nombreux logiciels Linux ont une version appimage, qui peut fonctionner sans installation. Par exemple, navicat et certains logiciels peuvent fonctionner tant qu'ils sont décompressés, comme idea.

J'ai donc commencé à abandonner la version rpm/deb et à télécharger à la place le package compressé appimage et binaire, donc tant que le fichier .desktop est créé dans /usr/share/applications selon le format, il y aura une icône correspondante dans le menu démarrer, il suffit de l'ouvrir Exécution, très pratique.

De cette manière, il n'est pas nécessaire d'installer séparément les packages deb/rpm/binary pour les 3 systèmes. Il vous suffit d'écrire le script, d'installer le système d'exploitation, d'exécuter le script et de créer .desktop pour le logiciel respectivement.

La plupart des fichiers .desktop sont similaires, avec seulement deux éléments principaux, l'un est le chemin du programme et l'autre est l'icône du programme. Afin d'avoir le même effet que l'installation rpm/deb, je me réfère au contenu du fichier .desktop généré par l'installation rpm/deb, et j'extrait l'icône d'origine de l'appimage. Notez le script de création ci-dessous pour votre référence.

Divisé en trois parties, à savoir libreoffice, logiciel appimage, logiciel de package de compression binaire.

Le logiciel libreoffice comprend writer, calc, math, impress, base, draw, etc., correspondant respectivement à word, excel, powerpoint, access, viso et autres logiciels de bureau. Il y a aussi math (éditeur de formules) qui n'a pas de produit bureautique correspondant, et libreoffice équivaut à l'entrée. Il y a donc 7 raccourcis à créer au total.

La méthode d'écriture est un peu compliquée et répertoriée séparément. Les deux ubuntu22.04/opensuse 15.5/manjaro ont réussi le test

#libreoffice
cat > /usr/share/applications/libreoffice-startcenter.desktop <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
NoDisplay=false
Icon=libreoffice-startcenter
Type=Application
Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Other;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage %U
MimeType=application/vnd.openofficeorg.extension;x-scheme-handler/vnd.libreoffice.cmis;x-scheme-handler/vnd.sun.star.webdav;x-scheme-handler/vnd.sun.star.webdavs;x-scheme-handler/vnd.libreoffice.command;x-scheme-handler/ms-word;x-scheme-handler/ms-powerpoint;x-scheme-handler/ms-excel;x-scheme-handler/ms-visio;x-scheme-handler/ms-access;
Name=LibreOffice
GenericName=Office
Comment=The office productivity suite compatible to the open and standardized ODF document format. Supported by The Document Foundation.
StartupNotify=true
X-GIO-NoFuse=true
StartupWMClass=libreoffice-startcenter
X-KDE-Protocols=file,http,ftp,webdav,webdavs
X-AppStream-Ignore=True

Actions=Writer;Calc;Impress;Draw;Base;Math;

[Desktop Action Writer]
Name=Writer
Exec=libreoffice --writer

[Desktop Action Calc]
Name=Calc
Exec=libreoffice --calc

[Desktop Action Impress]
Name=Impress
Exec=libreoffice --impress

[Desktop Action Draw]
Name=Draw
Exec=libreoffice --draw

[Desktop Action Base]
Name=Base
Exec=libreoffice --base

[Desktop Action Math]
Name=Math
Exec=libreoffice --math
EOF

cat > /usr/share/applications/libreoffice-writer.desktop  <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
Icon=libreoffice-writer
Type=Application
Categories=Office;WordProcessor;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage --writer %U
MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.oasis.opendocument.text-master-template;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/x-hwp;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.lotus-wordpro;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroEnabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroEnabled.12;application/vnd.ms-works;application/vnd.stardivision.writer-global;application/x-extension-txt;application/x-t602;text/plain;application/vnd.oasis.opendocument.text-flat-xml;application/x-fictionbook+xml;application/macwriteii;application/x-aportisdoc;application/prs.plucker;application/vnd.palm;application/clarisworks;application/x-sony-bbeb;application/x-abiword;application/x-iwork-pages-sffpages;application/x-mswrite;application/x-starwriter;
Name=LibreOffice Writer
GenericName=Word Processor
Comment=Create and edit text and graphics in letters, reports, documents and Web pages by using Writer.
StartupNotify=true
X-GIO-NoFuse=true
Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf;
InitialPreference=5
StartupWMClass=libreoffice-writer
X-KDE-Protocols=file,http,ftp,webdav,webdavs

Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Document
Icon=document-new
Exec=libreoffice --writer
EOF

cat > /usr/share/applications/libreoffice-calc.desktop  <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
Icon=libreoffice-calc
Type=Application
Categories=Office;Spreadsheet;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage --calc %U
MimeType=application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;text/csv;application/x-dbf;text/spreadsheet;application/csv;application/excel;application/tab-separated-values;application/vnd.lotus-1-2-3;application/vnd.oasis.opendocument.chart;application/vnd.oasis.opendocument.chart-template;application/x-dbase;application/x-dos_ms_excel;application/x-excel;application/x-msexcel;application/x-ms-excel;application/x-quattropro;application/x-123;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/vnd.ms-works;application/clarisworks;application/x-iwork-numbers-sffnumbers;application/x-starcalc;
Name=LibreOffice Calc
GenericName=Spreadsheet
Comment=Perform calculations, analyze information and manage lists in spreadsheets by using Calc.
StartupNotify=true
X-GIO-NoFuse=true
Keywords=Accounting;Stats;OpenDocument Spreadsheet;Chart;Microsoft Excel;Microsoft Works;OpenOffice Calc;ods;xls;xlsx;
InitialPreference=5
StartupWMClass=libreoffice-calc
X-KDE-Protocols=file,http,ftp,webdav,webdavs

Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Spreadsheet
Icon=document-new
Exec=libreoffice --calc
EOF

cat > /usr/share/applications/libreoffice-impress.desktop  <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
Icon=libreoffice-impress
Type=Application
Categories=Office;Presentation;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage --impress %U
MimeType=application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;application/vnd.oasis.opendocument.presentation-flat-xml;application/x-iwork-keynote-sffkey;
Name=LibreOffice Impress
GenericName=Presentation
Comment=Create and edit presentations for slideshows, meeting and Web pages by using Impress.
StartupNotify=true
X-GIO-NoFuse=true
Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx;
InitialPreference=5
StartupWMClass=libreoffice-impress
X-KDE-Protocols=file,http,ftp,webdav,webdavs

Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Presentation
Icon=document-new
Exec=libreoffice --impress
EOF

cat > /usr/share/applications/libreoffice-draw.desktop  <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
Icon=libreoffice-draw
Type=Application
Categories=Office;FlowChart;Graphics;2DGraphics;VectorGraphics;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage --draw %U
MimeType=application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.visio;application/x-wpg;application/vnd.corel-draw;application/vnd.ms-publisher;image/x-freehand;application/clarisworks;application/x-pagemaker;application/pdf;application/x-stardraw;image/x-emf;image/x-wmf;
Name=LibreOffice Draw
GenericName=Drawing Program
Comment=Create and edit drawings, flow charts and logos by using Draw.
StartupNotify=true
X-GIO-NoFuse=true
Keywords=Vector;Schema;Diagram;Layout;OpenDocument Graphics;Microsoft Publisher;Microsoft Visio;Corel Draw;cdr;odg;svg;pdf;vsd;
InitialPreference=5
StartupWMClass=libreoffice-draw
X-KDE-Protocols=file,http,ftp,webdav,webdavs

Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Drawing
Icon=document-new
Exec=libreoffice --draw
EOF

cat > /usr/share/applications/libreoffice-base.desktop  <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
Icon=libreoffice-base
Type=Application
Categories=Office;Database;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage --base %U
MimeType=application/vnd.oasis.opendocument.database;application/vnd.sun.xml.base;
Name=LibreOffice Base
GenericName=Database Development
Comment=Manage databases, create queries and reports to track and manage your information by using Base.
StartupNotify=true
X-GIO-NoFuse=true
Keywords=Data;SQL;
InitialPreference=5
StartupWMClass=libreoffice-base
X-KDE-Protocols=file,http,ftp,webdav,webdavs

Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Database
Icon=document-new
Exec=libreoffice --base
EOF

cat > /usr/share/applications/libreoffice-math.desktop  <<EOF
[Desktop Entry]
Version=7.5.2.2
Terminal=false
NoDisplay=false
Icon=libreoffice-math
Type=Application
Categories=Office;Math;
Exec=/u01/3.software/3.crossplatfrom/office/LibreOffice-7.5.2.2.standard-x86_64.AppImage  --math %U
MimeType=application/vnd.oasis.opendocument.formula;application/vnd.sun.xml.math;application/vnd.oasis.opendocument.formula-template;text/mathml;application/mathml+xml;
Name=LibreOffice Math
GenericName=Formula Editor
Comment=Create and edit scientific formulas and equations by using Math.
StartupNotify=true
X-GIO-NoFuse=true
Keywords=Equation;OpenDocument Formula;Formula;odf;MathML;
InitialPreference=5
StartupWMClass=libreoffice-math
X-KDE-Protocols=file,http,ftp,webdav,webdavs

Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Formula
Icon=document-new
Exec=libreoffice --math
EOF

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44496870/article/details/131698099
conseillé
Classement