Web调用Linux客户端remmina运维

相信你遇到过这样的场景,在浏览器网页中点击QQ图标咨询,就能唤起本机的装的qq或tim,下载百度网盘的资源的时候,点击链接浏览器会启动本地百度云进行下载。

最近因为项目需要,也要实现类似的操作,不过需求是在界面版的Linux系统上,网上大多数的教程都是Windows版的内容,Linux的讲解比较少,下面我们就一起来看下,Web调用Linux客户端remmina实现ssh、sftp或vnc登录的过程,从编写执行到打包安装的一条龙服务是怎么实现的。

let‘s start~

先来大概了解下原理,web界面如何通过浏览器隔山打牛调用到本地的remmina客户端,而且不存在浏览器的兼容问题 ,是怎么实现的。

在浏览器的地址栏上, 除了我们常见的协议有http, https,ftp外,我们还可以使用 自定义协议即URL protocal,通过在安装应用程序时,向系统注册私有自定义协议,然后就可以在网页端通过url的方式打开本地应用程序。在网页文本中它的常见格式为:

1 <a href="protocolName://数据参数字符串" ></a>

例如:

<a href="thunder://QUFmdHA6Ly95Z2R5ODp5Z2R5OEB5ZzQ1Lm..."/>打开迅雷</a>
<a href="baiduyunguanjia://evoked-download/?bddxxxx">打开百度云盘</a>
<a href="tencent://AddContact/?uin=1079190033xxx">打开腾讯QQ</a>

可以直接在浏览器地址栏中输入tencent://123 或者baiduyunguanjia://123,进行实验

有效果  

还不错哦

如图发现可以唤起一个打开应用程序的弹窗时,说明你的windows系统中就已经注册好该协议了,win+R输入regedit打开系统注册表,在计算机\HKEY_CLASSES_ROOT\路径下可以找到对应的协议名, 协议名文件夹下指示了该协议启动的应用程序的路径,URL Protocol协议就在那里:

而Linux系统是怎样的呢?

linux系统是创建一个Desktop Entry(启动器配置文件),该文件以".desktop"为后缀名的桌面快捷方式,这些 Desktop Entry 文件通常被存放在 /usr/share/applications/目录下,

在*.desktop文件里面定义了应用程序的路径后,然后再注册到 /share/applications/mimeapps.list中,在浏览器里面输入相应的Desktop Entry 文件的名字就可以启动相对应的应用程序啦。

具体实现步骤 如下:

1.cd /usr/share/applications/ 进入到应用目录,创建 myapp.desktop文件

#vi myapp.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false #软件打开时是否启动终端
Exec=/usr/bin/myapp %u  #应用程序执行路径修改 %u为接收参数
Name=运维助手 #快捷方式显示的名称
Comment=运维助手
Icon=     #应用程序显示的图标路径
Categories=Application;#应用程序在菜单中显示的类别
MimeType=x-scheme-handler/myapp; #应用类型

 2.执行命令:

update-desktop-database

 3.注册自定义协议到mimeapps.list:

xdg-mime default myapp.desktop x-scheme-handler/myapp

 4.编写myapp的脚本给执行权限

#!/bin/bash
touch 1.txt

 以上完成了一半,接下来就是对remmina的操作

1.在Linux桌面上打开remmina,保存一个ssh连接

添加完成后可以看到保存后生成的配置文件存放路径

2.打开终端到该路径下,

输入remmina -h命令可以看到,通过-c 参数可以连接该配置文件,

输入命令,

#格式为 remmina  -c  当前路径/*.remmina
remmina -c /root/.local/share/remmina/1561189454729.remmina

 然后就可以连接到远程服务器了

此时,你可能已经想到了,将该命令放入到我们之前建的shell脚本myapp中,再通过浏览器触发,就可以实现web调用linux客户端运维登录了,可以先高兴好一小会儿了,毕竟革命已经完成了一大步了。

高兴完后,我们将需要处理一些复杂的细节,

后续的部分将在第二部分应用编写篇为你娓娓道来。

原文地址:https://www.cnblogs.com/mrwh/p/11663646.html

时间: 2024-08-09 23:50:51

Web调用Linux客户端remmina运维的相关文章

关于Linux主流框架运维工作剖析

LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码.也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模.今天将为大家带来关于Linux主流框架运维工作剖析,大家一定要认真阅读哦~ 随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS.RedHat.Ubuntu.Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最

Linux云自动化运维第四课

Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字  ###移动到指定的行 G  ###文件最后一行 gg  ###文件第一行 2)在插入模式下 i  ###光标所在位置插入 I  ###光标所在行行首 a  ###光标所在字符的下一个位置 A  ###光标所在行行尾 o  ###光标所在行下一行 O  ###光标所在行上一行 s  ###删除光标所在字符插入 S  ###删除光标所在行插入 2.vim的退出模式 :q  ###当用vim打开文件但没有对字符作

linux故障定位,运维必备

linux故障定位,运维必备 背景有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题.所以,分析问题和踩坑是非常锻炼一个人的成长和提升自我能力.如果我们有一套好的分析工具,那将是事半功倍,能够帮助大家快速定位问题,节省大家很多时间做更深入的事情. 说明本篇文章主要介绍各种问题定位的工具以及会结合案例分析问题. 分析问题的方法论套用5W2H方法,可以

客户端主动运维:查看磁盘监控状况

使用everest工具,查看PC硬盘情况.如下图: Reallocated Sector Count告警提示你硬盘出现坏道.无法修复.正在使用备用扇区.如果坏道过多,将会丢失数据. 作为运维人员,这个可以作为日常工作的一部分.属于主动运维,降低数据丢失的机会. 客户端主动运维:查看磁盘监控状况

老男孩linux+Python高薪运维就业班第一关课后上机实战考试题

老男孩教育linux+Python高薪运维就业班第一关课后上机实战大考察 (开课第三天上机考试题) (每题10分共130分,过100即可,请给出详细步骤) 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容"inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0"(不包含引号). 2.将题1中的oldboy.txt文件内容通过命令过滤只输出如下内容: 10.0

Linux界顶级运维专家马哥今晚亲自带你飞,错过了再等一年!

良心提示:文末有彩蛋哦! 精彩纷呈.干货不能再多的马哥2016Linux运维公开课第一季完美落幕! 2016年的春天,每周三都有马哥Linux运维公开课,你都参加了吗?马哥Linux运维公开课第一季在来自阿里的罗老师的<应运而生的架构>完美落幕! 错过了第一季,你还要错过第二季吗? 本周三由马哥教育创始人-马哥作为先锋,先为小伙伴们带来一场Linux学习饕餮盛宴--<Linux运维工程师学习路线图>!速度带上你的运维小(hao)伙(ji)伴(you)报名马哥Linux运维公开课第二

Linux主流架构运维工作简单剖析

随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS.RedHat.Ubuntu.Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构:LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+JAVA/PHP+MySQL/MariaDB等.分享一个简单的拓扑图,供各位同学实验参考 一般网站总体分为四层,依次

Linux 之不同运维人员共用root 账户权限审计

一.为什么? 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还好,出了问题,就很难找出源头. 这里介绍下,如何利用编译bash 使不同的客户端在使用root 登陆服务器使,记录各自的操作,并且可以在结合ELK 日志分析系统,来收集登陆操作日志 二.环境 服务器:centos 6.5.Development tools.使用密钥认证,SElinux 关闭. 客户端:生成密钥对,用于登录服务器 (2台) 三.搭建部署 (服务器操作 192

Linux下一些运维服务器的适用命令

这一次将陆续给出一些实用的命令组合,以完成一些比较常用的运维任务.1.查看MySQL数据库连接数(未完持续) 原文地址:https://blog.51cto.com/yzmlinux/2484272