MacOS通过命令行开启关闭向日葵远程控制的后台服务


categories: [Tips]
tags: MacOS Tips

写在前面

经常有小伙伴问我电脑相关的问题, 而解决问题的一个重要途径就是远程了. 关于免费的远程工具我试过向日葵和 todesk, 并且主要使用向日葵, 虽然 MacOS 下要设置很多权限, 但是也不影响其丝滑的控制.

虽然用着舒服, 但是向日葵美中不足的一点就是后台服务的内存占用, 对我这种强迫症还是接受不了, 后来想到的办法是在系统设置里面的 通用-> 登录项允许在后台执行的程序, 可以打开或者关闭向日葵的服务. 但是每次开关都麻烦, 所以就自然想到通过命令行来操作了.

向日葵的后台服务

Screenshot 2024-04-18 at 21.18.32

可以看到向日葵的后台服务有4个, 通过查找

  • /Library/LaunchAgents
  • /Library/LaunchDaemons

发现, 有以下4个文件:

  1. /Library/LaunchDaemons/com.oray.sunlogin.plist
  2. /Library/LaunchDaemons/com.oray.sunlogin.helper.plist
  3. /Library/LaunchAgents/com.oray.sunlogin.startup.plist
  4. /Library/LaunchAgents/com.oray.sunlogin.agent.plist

总不能一个一个设置吧, 后来看了篇文章讲 Apple 里面的后台进程可以通过 sudo launchctl list 来查看.

找到关键的后台服务

从设置里面打开向日葵的后台服务, 执行

sudo launchctl list |grep oray42070	0	com.oray.sunlogin.helper
42081	0	com.oray.sunlogin.service

多了俩服务, 那么接着分析, 看 plist 文件发现其实主要是 /Library/LaunchDaemons/com.oray.sunlogin.helper.plist 这个文件, 那么接下来就好办了.

开启/关闭后台服务

# 开启
sudo launchctl load -wF /Library/LaunchDaemons/com.oray.sunlogin.helper.plist
# 关闭
sudo launchctl unload -wF /Library/LaunchDaemons/com.oray.sunlogin.helper.plist

可以用 alias封装一下, 这样直接通过命令行启动/关闭向日葵即可.

命令行开启关闭向日葵

alias sunlogin='sudo launchctl load -wF /Library/LaunchDaemons/com.oray.sunlogin.helper.plist && open -a SunloginClient.app'alias sunlogout='sudo pkill SunloginClient && sudo launchctl unload -wF /Library/LaunchDaemons/com.oray.sunlogin.helper.plist && sudo launchctl unload -wF /Library/LaunchDaemons/com.oray.sunlogin.plist'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tcp通信协议

#include <myhead.h> #define IP "192.168.124.73" #define PORT 8888 int main(int argc, const char *argv[]) { //创建流式套接字 int sfd socket(AF_INET,SOCK_STREAM,0); if(sfd < 0){ fprintf(stderr,"line%d",__LI…

mysql的约束和表关系

根据查询的结果&#xff0c;复制出一个新表 create table newTable AS select * from oldTable; create table newPeople AS select * from day2_test.people; 约束 引入&#xff1a;如果某一列如id列&#xff0c;有重复的数据&#xff0c;无法准确定位&#xff0c;有的列有空…

实体店引流客户的最快方法是什么?线上短视频+直播引流!

前言&#xff1a;为什么想到写这个话题&#xff1f;因为在每周三晚在视频号白杨SEO免费直播的问题解答的时候&#xff0c;有个朋友问同城流量怎么做&#xff1f;我就以实体店举例解答说了做推荐搜索流量相结合。我想应该还有一些朋友也想知道&#xff0c;所以就分享出来&#x…

组合总和(Lc39)——排序+剪枝+回溯

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如…

python的练习

python 练习 一、练习题目二、代码概览 一、练习题目 Hello World 实例数字求和平方根二次方程计算三角形的面积计算圆的面积随机数生成摄氏温度转华氏温度交换变量if 语句判断字符串是否为数字判断奇数偶数判断闰年获取最大值函数质数判断输出指定范围内的素数阶乘实例九九乘…

MyBatis多参数查询解析

参考官网 1. 底层 底层是ParamNameResolver类查看getNameParams方法实现 2. 获取参数的两种方式 MyBatis获取参数值的两种方式&#xff1a; ${} : 本质就是字符串拼接#{} :本质就是占位符赋值 3. 多种情况的获取情况 单参数情况&#xff1a; a. 单参数-单个字面量类型 …

人脸清晰修复神器CodeFormer

随着AI技术在图像处理领域大展身手&#xff0c;AI去马赛克相关的项目也屡见不鲜&#xff0c;比如在Github上开源免费、备受欢迎的 CodeFormer 。不得不说利用这款神奇的人脸修复工具&#xff0c;真的是让我大开眼界&#xff0c;竟然可以这样搞&#xff01; 不管面对的是多么模…

Java知识总结-基础

Java中的访问权限修饰符 Java语言有四个权限访问修饰符&#xff0c;权限从大到小依次为&#xff1a; 1&#xff09;public &#xff1a;公共权限&#xff0c;可以被任意类访问&#xff0c;不同包不同类依然可以访问&#xff0c; 可修饰&#xff1a;类、成员变量、方法&#…

大模型+多模态实现

那么如何在预训练LLM的基础上引入跨模态的信息&#xff08;包括图像、语音、视频模态&#xff09;&#xff0c;让其变得更强大、更通用呢&#xff1f;本节将介绍“大模型多模态”的3种实现方法。 以LLM为核心&#xff0c;调用其他多模态组件 微软亚洲研究院&#xff08;MSRA&…

STM32中SPI通信的完整C语言代码范例

SPI (Serial Peripheral Interface) 是一种同步串行通信协议&#xff0c;广泛应用于嵌入式系统中&#xff0c;用于与外设进行数据交换。STM32系列微控制器提供了丰富的SPI外设&#xff0c;支持多种工作模式和配置选项。本文将以STM32F103系列为例&#xff0c;详细介绍SPI通信的…

Java基础(运算符)

运算符 运算符和表达式 运算符&#xff1a;对字面量或者变量进行操作的符号 表达式&#xff1a;用运算符把字面量或者变量连接起来&#xff0c;符合java语法的式子就可以称为表达式&#xff1b;不同运算符连接的表达式体现的是不同类型的表达式。 算术运算符&#xff08;加…

Linux基础命令[24]-su

文章目录 1. su 命令说明2. su 命令语法3. su 命令示例3.1 不加参数3.2 -&#xff08;登录&#xff09;3.3 -c&#xff08;执行命令&#xff09; 4. 总结 1. su 命令说明 su&#xff1a;以用户身份执行命令&#xff0c;基本信息如下&#xff1a; Usage:su [options] [-] [USE…

一些RabbitMQ面试题

RabbitMQ是什么&#xff0c;它的主要用途是什么 RabbitMQ是一个开源的消息代理软件&#xff0c; 它实现了高级消息队列协议&#xff08;AMQP&#xff09;&#xff0c; 主要用于在分布式系统之间进行可靠的异步通信。 它的主要用途包括解耦系统组件、提高系统可扩展性、实现消息…

数据结构四:线性表之带头结点的单向循环循环链表的设计

前面两篇介绍了线性表的顺序和链式存储结构&#xff0c;其中链式存储结构为单向链表&#xff08;即一个方向的有限长度、不循环的链表&#xff09;&#xff0c;对于单链表&#xff0c;由于每个节点只存储了向后的结点的地址&#xff0c;到了尾巴结点就停止了向后链的操作。也就…

架构师系列-消息中间件(九)- RocketMQ 进阶(三)-消费端消息保障

5.2 消费端保障 5.2.1 注意幂等性 应用程序在使用RocketMQ进行消息消费时必须支持幂等消费&#xff0c;即同一个消息被消费多次和消费一次的结果一样&#xff0c;这一点在使用RoketMQ或者分析RocketMQ源代码之前再怎么强调也不为过。 “至少一次送达”的消息交付策略&#xff…

Hive主要介绍

Hive介绍 hive是基于 Hadoop平台操作 HDFS 文件的插件工具 可以将结构化的数据文件映射为一张数据库表 可以将 HQL 语句转换为 MapReduce 程序 1.hive 是由驱动器组成&#xff0c;驱动器主要由4个组件组成&#xff08;解析器、编译器、优化器、执行器&#xff09; 2.hive本身不…

什么是Java中的代理模式?

Java中的代理模式&#xff08;Proxy Pattern&#xff09;是一种设计模式&#xff0c;用于在不改变原始对象&#xff08;也称为主题&#xff0c;Subject&#xff09;的代码的情况下&#xff0c;为原始对象提供代理对象&#xff0c;以控制对原始对象的访问。代理模式可以在不改变…

libtorch c10::IValue类解析,从IValue获取值

0. 简介 c10::IValue像一个数据容器&#xff0c;但是它又不用来直接存储数据&#xff0c;只是一层数据的封装。 怎么理解呢&#xff1f;c10::IValue可以存储torchscript里很多类型的数据&#xff0c;比如c10::IValue存储可能是一个Tensor&#xff0c;一组Tensor&#xff0c;或…

【安卓13-Framework】SystemUI定制之屏蔽下拉状态栏部分快捷按钮

1、需求 屏蔽下拉状态栏谷歌录屏、省电模式、二维码扫描器等快捷按钮。 2、修改路径 普及&#xff1a;安卓的SystemUI包提供了状态栏、导航栏、通知中心等重要的用户界面元素。 状态栏小部件UI显示修改路径&#xff1a;frameworks/base/packages/SystemUI/src/com/android/s…

Java虚拟机(jvm)常见问题总结

1.电脑怎样认识我们编写的Java代码 首先先了解电脑是二进制的系统&#xff0c;他只认识 01010101比如我们经常要编写 HelloWord.java 电脑是怎么认识运行的HelloWord.java是我们程序员编写的&#xff0c;我们人可以认识&#xff0c;但是电脑不认识 Java文件编译的过程 1. 程…