银河麒麟V10sp1中实现双击shell脚本的正常运行

银河麒麟踩坑笔记——sh文件设置开机自启 背景: 在上一篇打包好QT程序后,项目还要求做成自动开机自启,于是再一次开始摸索如何开机自启。原本我以为是项很小很简单的工作,没想到在银河麒麟下如此艰难,甚至搞崩了两次系统,差点重装。 踩坑的方法: 一、通过修改/etc/rc.local文件来实现通过脚本开机自启,具体可参考类似的文章,如 https://blog.youkuaiyun.com/qq_41985134/article/details/121182623https://blog.youkuaiyun.com/qq_41985134/article/detai 阅读详情
AI摘要

本文探讨了一种在中标麒麟V5及银河麒麟V10sp1操作系统中编写启动脚本(run.sh)的方法,以确保应用(app-tests)在不同环境下能够一致且正确地运行。文章分析了caja和peony文件管理器下双击脚本的不同行为,并提供了一个通用的解决方案。

几种看上去都可行的实现方式,又无意间加宽了服务商与用户之间的间隔,朝着有利于服务商发展的方向,无可非议;然而,以用户需求为核心,仍然是一个基本原则(黑客与画家,阮一峰译)。

背景与问题
按照AppImage的包组成模式,它总是有一个AppRun文件,作为启动应用的脚本文件。类似的,在中标/银河麒麟等操作系统上开发的应用,为了保持应用依赖库、配置环境变量等信息的专有和最小范围,在生成应用的可执行文件(比如app-tests)后,我们通常也会为它编写一个对应的启动脚本(比如run.sh),然而,在中标麒麟V5上编写的run.sh,在文件管理器(caja)中,双击可以运行(指最终成功运行app-tests);而在最新的银河麒麟V10sp1上,同样的run.sh文件,在文件管理器(peony)中,双击却无法运行。

中标麒麟V5中的文件结构示例:

/home/user/app-tests
    app-tests
    run.sh

中标麒麟V5中的run.sh内容示例:

#!/bin/sh

./app-tests

 

分析
中标麒麟V5上,在caja文件管理器里,双击run.sh后,对脚本运行的目录,是指的当前目录。
在银河麒麟V10上,其使用了自研的peony文件管理器,双击run.sh后,对脚本运行的目录,像是一个不可预料的状态(也有可能其有一个内部的约定,但至少是有两种情形:直接运行文件管理后,双击run.sh,脚本里的$(pwd)会输出“/home/user”结果;而在桌面(/home/user/桌面)由控制台里/usr/bin/peony启动文件管理器后,双击run.sh,脚本里的$(pwd)会输出“/home/user/桌面”结果)。
而我们不想再继续深究peony当前的实现情况,所以采用绝对路径来运行应用,是个方案。

解决
无论是中标麒麟V5、还是银河麒麟V10,均

麒麟和UOS系统编写桌面点击可执行文件 在桌面上创建一个快捷方式(.desktop 文件)来运行脚本。打开文本编辑器,创建一个新文件,如。这可以通过文本编辑器来完成。首先,确保您的脚本具有执行权限。现在,您应该可以双击桌面上的。保存此文件到桌面目录,例如,在桌面上创建一个快捷方式(文件来运行您的脚本了。使用图形界面或命令行给。现在您可以双击桌面上的。为您脚本的实际路径。是您脚本的实际路径。文件来运行您的脚本了。 阅读详情

相关推荐

银河麒麟系统下.sh脚本双击启动失败的原因分析与解决方案

本文详细分析了银河麒麟系统下.sh脚本双击启动失败的常见原因,特别是peony文件管理器与工作目录差异导致的问题。提供了三种验证方法、终极解决方案(动态获取脚本真实路径)以及处理带空格路径的进阶技巧,帮助开发者快速解决启动问题并优化脚本性能。

gin88的博客 866

在银河麒麟V10 SP1上安装Wine 9.0运行Windows程序

Wine是一个面向Linux等类Unix系统的兼容层,通过将Windows API调用翻译为Linux系统调用,使Windows应用程序能够在非Windows平台上运行。在国产化迁移进程中,银河麒麟V10 SP1等操作系统常因缺少Windows软件兼容性而受到阻碍。Wine 9.0作为2024年发布的重要版本,改进了WoW64模式、Wayland支持等关键技术,为运行办公软件、行业客户端提供了可行方案。从环境检查、依赖安装、编译配置到中文字体与运行库设置,系统梳理在麒麟V10 SP1上构建Wine 9.0环

weixin_33906657的博客 442

银河麒麟V10 SP2离线安装LibreOffice:从环境检查到生产部署

国产化替代浪潮下,基于Linux内核的服务器系统已成为政府与企业关键业务的基础设施。在无外网、无软件源的内网环境中,软件部署往往面临依赖缺失、架构兼容等复杂挑战。开源办公套件LibreOffice凭借跨平台、无授权费用及强大的文档处理能力,被广泛应用于文档转换、模板渲染等后端服务。理解rpm包管理机制与本地yum仓库的构建原理,是高效完成服务器应用部署的核心能力。从环境检查、架构确认到三种安装方案比选,再到依赖处理、中文字体配置及headless批量转换,系统化的操作流程能显著降低部署风险。在信创场景下,将

weixin_34405557的博客 372

银河麒麟V10部署Mono环境:让.NET Framework应用在国产系统上重生

在跨平台开发与部署场景中,.NET Framework应用的传统运行环境往往局限于Windows系统。Mono作为开源的.NET Framework兼容实现,其核心原理在于通过即时编译(JIT)和公共语言运行时(CLR)的跨平台移植,将C#等托管代码转换为可在Linux、macOS等非Windows系统上执行的指令。这一技术价值在于为大量历史遗留的.NET应用提供了低成本、高效率的迁移路径,尤其适用于国产化替代、企业级应用现代化等关键场景。在银河麒麟这类基于Linux内核的国产操作系统上,通过系统仓库或官方

weixin_30319153的博客 331

Unity应用银河麒麟打包实战:从构建到deb/rpm安装包全流程

软件打包是将开发完成的应用转换为可分发、易安装格式的关键环节,其核心原理在于遵循目标操作系统的文件结构和包管理规范。在Linux生态中,这尤其重要,因为它确保了应用依赖的正确解析和系统的整洁管理。对于希望在国产化平台部署应用的开发者而言,掌握deb和rpm包的构建技术具有重要价值,它能直接助力软件进入政企、金融等信创市场。本文将聚焦于Unity引擎开发的应用,详细阐述其在银河麒麟操作系统上的完整打包流程。这个过程涉及Unity的跨平台构建、处理系统运行时依赖,以及使用dpkg-deb、rpmbuild或fp

aoe41606的博客 432

ARM架构下Wireshark离线安装包:国产化环境与IoT开发的网络诊断利器

网络协议分析是网络运维、安全审计和通信调试的基础技术,其核心原理是通过捕获和解码网络数据包来洞察通信过程。在软件开发和系统运维中,网络诊断工具对于定位微服务调用、数据库连接等复杂问题具有不可替代的技术价值。随着信创产业的推进和物联网设备的普及,大量生产环境采用ARM架构的国产CPU(如飞腾、鲲鹏)或嵌入式设备,并运行于严格隔离的网络中。在这些无法访问互联网或内网软件源缺失的离线场景下,获取和部署关键工具成为刚需。Wireshark作为业界标准的网络协议分析器,其ARM架构的离线安装包正是解决这一痛点的工程实

weixin_30655569的博客 497

麒麟系统运行Kettle的ARM64兼容方案

Kettle作为经典开源ETL工具,其官方二进制包自8.3版本起已停止对ARM64架构支持,导致在银河麒麟等国产操作系统上出现解压失败、类加载异常、JNI调用崩溃等静默故障。根本原因在于x86_64字节码与ARM64硬件指令集不匹配,叠加JVM对本地库(如libkettle.so)和GUI渲染(Swing/AWT)的架构敏感性。通过QEMU用户态模拟器构建x86_64兼容层,配合专用x86_64 JDK运行时与启动脚本封装,可在飞腾、鲲鹏等aarch64平台实现零代码修改的稳定运行。该方案兼顾兼容性、可维护

weixin_34161032的博客 386

银河麒麟V10离线部署DeepSeek:Ollama+Chatbox全套指南

随着企业对数据隐私和网络隔离要求的提高,本地化大模型部署成为重要技术方向。开源大模型如DeepSeek凭借出色的语言能力与开放权重,为内网环境提供了智能服务基础。以Ollama为代表的推理引擎简化了模型加载与API服务构建,而Chatbox则提供友好的交互界面。在银河麒麟V10等国产化操作系统上,通过离线部署包与GGUF模型文件,可构建完整的本地问答与文档处理能力,满足物理隔离环境下对代码辅助、数据归纳等业务的需求。本文面向离线场景,介绍从物料准备、服务安装到模型导入的完整实践路径,帮助运维人员快速搭建稳定

weixin_34268310的博客 415

NSGA-III相关笔记

NSGA-III目录目的区别NSGA-III的算法流程非支配排序详解归一化详解 目录 NSGA-III基于matlab的实现 参考文献 1.An Evolutionary Many-Objective Optimization Algorithm Using Reference-point Based Non-dominated Sorting Approach,Part I: Solving P...

weixin_42555400的博客 1万+

联想拯救者r7000p在ubuntu20.04未找到wifi适配器,安装rtl8852ae网卡驱动问题解决方案

新买的拯救者r7000p 2021款,装完ubuntu20.04之后显示未找到wifi适配器, 更换N次源之后还是只有一个显卡驱动,在网上找了很多方法,再自己折腾了一段时间后,总算是解决了这个问题。 1.设置bios 打开主板系统,将security boot设置为disenable,因为设计到修改内核配置,必须得关掉安全启动。 2.查询网卡状态 使用命令查询网卡(hardware of Internet)状态 lshw -C network 因为是双系统,在Windows下控制面板-设备管理器中可以

MCZ777的博客 1万+

物联网开发笔记(34)- 使用Micropython开发ESP32开发板之控制步进电机(28BYJ-48)

使用Micropython开发ESP32开发板之控制步进电机(28BYJ-48)

zhusongziye的博客 1万+

手把手教你用Sentinel-1和SNAP处理InSAR数据:从下载到生成沉降图(附Python脚本)

本文详细介绍了如何使用Sentinel-1数据和SNAP软件处理InSAR数据,从下载到生成地表沉降图的全流程。通过Python脚本实现自动化处理,适用于城市扩张和地质脆弱带的地表沉降监测,提供高性价比的毫米级形变监测方案。

weixin_26800111的博客 267

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3067

C语言头文件完全解析(连“#”我都给你讲明白)

C语言头文件完全解析 引言 本文将尽量详细的介绍c语言的头文件所包含的知识,如有错误,还望指正。 萌新们肯定疑惑为什么每次打代码都要写一个所谓的头文件(如:#include<stdio.h>),这里先简单让大家有个了解,你所用的 printf("%d",a)就是这个 stdio里的东西,如果没有这个头文件,编译器都不知道 printf是个什么东东。所以头文件就是一个准备好的大仓库,你可...

CRAZY_eyes的博客 7万+

测绘程序设计——试题一:出租车轨迹数据计算

仅展示试题1的原文,如需了解其余内容,请自行购买图书李老师著作主页-http://ybli.users.sgg.whu.edu.cn/book/

chengzilhc的博客 891

IgH EtherCAT 从入门到精通:第 2 章 环境搭建与编译安装

环境搭建与编译安装指南 本章详细介绍了搭建IgH EtherCAT Master开发环境的完整流程。内容包括: 硬件要求:支持多种Intel和Realtek网卡的原生驱动,以及通用网卡的generic驱动选项 软件依赖:列出Linux系统下所需的工具链和开发包 源码获取:通过Git克隆官方仓库并切换稳定版本的方法 配置选项:详细解析bootstrap脚本和configure的核心参数,包括路径设置、功能开关和实时框架选项 编译流程:从生成构建系统到最终编译安装的完整步骤 通过本章指导,读者可以完成一个可运行

从事嵌入式linux android驱动开发,拥有全栈能力 480

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: libuv套接字绑定失败导致的退出异常
下一篇: C++对象JSON序列化:像Java一样简单,比nlohmann/json更内聚
smartcore
博客等级 码龄19年 30粉丝 47原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值