乌班图下设置桌面快捷方式(应用图标快速启动)

乌班图下设置桌面快捷方式(应用图标快速启动)

以idea为例

1.在官网下载安装包

比如这个:ideaIU-2021.1.3.tar.gz

2.解压到本地合适的位置

3.首先进去/usr/share/applications/复制一个简单点的desktop作为快捷启动

4.复制好了之后修改里面的内容,配置好name,sh,图标

[Desktop Entry]
Name=idea
Exec=sh /home/player3/idea/idea-IU-211.7628.21/bin/idea.sh
Terminal=false
Type=Application
Icon=/home/player3/idea/idea-IU-211.7628.21/bin/idea.png
Comment=idea
Categories=Application;

5.将你当前改好的文件复制或者剪切到/usr/share/applications/ 中,桌面就出现了idea 的图标了

cp idea.desktop /usr/share/applications/idea.desktop

最近学习了common的cli,对工具进行简单的提取

public static void main(String[] args) throws IOException {
		Options options = new Options();
 		options.addOption(Option.builder("n").longOpt("name").hasArg(true).desc("文件名称,这个代表name和comment").hasArg().required().build());
 		options.addOption(Option.builder("e").longOpt("exec").hasArg(true).desc("启动命令信息").hasArg().required().build());
 		options.addOption(Option.builder("i").longOpt("icon").hasArg(true).desc("图标位置").hasArg().required().build());
 		options.addOption("h", "help", false, "帮助");


		CommandLineParser parser = new DefaultParser();
		HelpFormatter formatter = new HelpFormatter();
		CommandLine cmd;

		try {
			cmd = parser.parse(options, args);
		} catch (ParseException e) {
			System.out.println(e.getMessage());
			formatter.printHelp("utility-name", options);

			System.exit(1);
			return;
		}
		if (cmd.hasOption("h")) {
			(new HelpFormatter()).printHelp("CommandLineOptions", options);
			System.exit(0);
		}
		Preconditions.checkArgument(cmd.hasOption("name"), "需要填写name信息");
		Preconditions.checkArgument(cmd.hasOption("exec"), "需要填写启动信息");
		Preconditions.checkArgument(cmd.hasOption("icon"), "需要填写图标信息");
		
		String	name = cmd.getOptionValue("name").trim();
		String	exec = cmd.getOptionValue("exec").trim();
		String	icon = cmd.getOptionValue("icon").trim();
		String pathDirectory="D:"+ File.separator +"todo"+ File.separator +"target";
		File directory = new File(pathDirectory);

		File[] fileList = directory.listFiles();
		String fileName =name+".desktop";
		boolean flag = false;
		for (File file : fileList) {
 			if (file.isFile() && fileName.equals(file.getName())) {
				flag = true;
				break;
			}
		}
		if (flag) {
 			System.out.println("该文件夹下存在文件:{},重新确认之后再次提交!"+fileName);
			 System.exit(0);
		}

		File file = new File(pathDirectory + File.separator + fileName);
		 file.createNewFile();
		try {
			FileWriter writer = new FileWriter(file, true); // 第二个参数为true表示追加写入
			writer.write("[Desktop Entry]");
			writer.write("\n"); // 换行
			writer.write("Name="+name);
			writer.write("\n"); // 换行
			writer.write("Exec=sh "+exec);
			writer.write("\n"); // 换行
			writer.write("Terminal=false");
			writer.write("\n"); // 换行
			writer.write("Type=Application");
			writer.write("\n"); // 换行
 			writer.write("Icon="+icon);
			writer.write("\n"); // 换行
			writer.write("Comment="+name);
			writer.write("\n"); // 换行
			writer.write("Categories=Application;");
			writer.close();
			System.out.println("写入成功!");
		} catch (IOException e) {
			System.out.println("写入文件时出现异常:" + e.getMessage());
		}

	}

工具的使用,进入到jar包的目录:

java -jar todo.jar -i /home/player3/idea/idea-IU-211.7628.21/bin/idea.png -n idea -e /home/player3/idea/idea-IU-211.7628.21/bin/idea.sh

posted @ 2022-06-20 15:53  三号小玩家  阅读(388)  评论(0编辑  收藏  举报
Title
三号小玩家的 Mail: 17612457115@163.com, 联系QQ: 1359720840 微信: QQ1359720840