KDEConnect/zh-hans: Difference between revisions

From KDE Wiki Sandbox
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 319: Line 319:
===  没有显示服务器我能运行KDE Connect吗? ===
===  没有显示服务器我能运行KDE Connect吗? ===


<div class="mw-translate-fuzzy">
是的, 你可以传递命令行参数` -platform offscreen` to the daemon (例如: `killall -9 kdeconnectd; /usr/lib/libexec/kdeconnectd -platform offscreen`)
是的, 你可以传递命令行参数` -platform offscreen` to the daemon (例如: `killall -9 kdeconnectd; /usr/lib/libexec/kdeconnectd -platform offscreen`)
</div>


=== GSConnect ===
=== GSConnect ===

Revision as of 09:05, 21 November 2022

Other languages:

什么是 KDE Connect?

KDE Connect 是一个能够让你的各种设备交互通信的方案。 这里有一些 KDE Connect 能做的事:


  • 在电脑上接收手机通知并回复消息
  • 在手机端控制电脑播放音乐
  • 把你的手机当作电脑的遥控器
  • 从连接的设备在你的电脑上运行预定义的命令。更多细节请见命令示例。
  • 在电脑上查看你的手机的电量
  • 通过响铃来寻找手机
  • 在设备之间分享文件和链接
  • 在电脑上浏览你的手机
  • 用你的手机控制桌面音量
  • 从你的电脑上发短信

安装

你将会在你的发行版仓库中找到 KDE Connect 桌面组件的软件包。如果没有,你可以要求他们把它打包。

尽管普遍存在误解,你可以在所有的桌面环境中使用 KDE Connect 。由于大多数开发者都在使用Plasma,所以可能会出现某个功能在其他桌面环境下损坏或无法使用的情况。在这种情况下,请提交一份 错误报告 。有多种方法可以在非Plasma桌面上增强KDE Connect的体验。如果你是一个GNOME用户,你可能更喜欢 indicator-kdeconnect ,一个GNOME shell扩展。对于支持AppIndicator的桌面(Budgie、Cinnamon、LXDE、Pantheon、Unity)可以使用 indicator-kdeconnect

Android 版应用程序可以在 Google Play 应用商店 和开源应用商店 F-Droid 中找到。

2014年,尽管有一些针对 iOS 的 KDE Connect 客户端开发(见源代码),但由于我们的经验和各种技术和组织因素,最近不太可能有官方的 iOS 支持。

KDE Connect 也可以在 sailfish connect 上使用,我们正在努力使它搭载到其他基于Linux的手机上(Plasma Mobile, PostmarketOS等)。

查看 KDE Connect 下载页

概览

这是 KDEConnect 的文档页面。在这里你会看到社区页面 [1] ,它解释了什么是 KDEConnect 以及如何安装它。

KDE Connect 由两部分组成。桌面程序和手机应用程序。

设备配对

首先,你需要在你的电脑手机上打开 KDE Connect。现在你应该能在每个屏幕上看到你希望配对的设备名称。如果这无效,请确保这两台设备连接到了同一个网络,并且没有任何防火墙阻止这两台设备互相看到对方。参见故障排除部分。

现在你可以在任意一台设备上请求配对。另一台设备将显示一个提示,要求接受配对请求。点击确认就可以了! 你的设备现在已经配对了。

尽管典型的配置会是一台电脑和一部手机,但也可以用两台电脑来代替。

浏览器集成

Plasma浏览器集成使KDE Connect更加强大。它允许你从手机上控制Youtube或Netflix等内容,并将浏览器标签页发送到你的手机上。尽管名字是这样,它也可以在非Plasma桌面上使用。

改变设备名

你只能在一台设备上改变这台设备的名称。所以,如果你想改变你电脑的设备名,你必须使用桌面程序,如果你想改变你的手机或平板电脑的名称,你必须在 KDE Connect APP 中进行更改。一旦某个设备被重命名,它将自动与所有连接的设备同步。

通过 OpenVPN 运行 KDE Connect

配合VPN使用KDE Connect的原因可能有很多种。也许你离开家后,想运行一个命令,或者你在一个公共WiFi网络上,你的设备不允许通信,你想用远程控制来做一个演讲。

设置 OpenVPN

如果你有自己的服务器和一个公网IP地址,你可以自己设置OpenVPN 。这不是一个最容易设置的软件,但通过遵循像这样的设置教程,你应该能够应付。

为了允许UDP广播包,也就是KDE Connect用来自动发现网络设备的东西,OpenVPN需要被设置为桥接(TAP设备)。如果你使用一个tun设备,你仍然可以通过IP地址手动连接。

如果你想租一个预先配置好的 OpenVPN 服务,而不是自己设置,应该可行,但同样需要考虑服务器设置的问题。

一旦服务器运行,你可以使用官方的 OpenVPN 客户端来连接桌面和服务器。安卓没有官方的 OpenVPN 客户端,但 OpenVPN for Android 客户端运行良好。Google play

一旦两台设备都连接好了,尝试在它们之间进行网络ping,以测试它们能否通过VPN进行通信。

配置 KDE Connect

如果 OpenVPN 实例已经设置好桥接(bridging),KDE Connect 应该能像在局域网中一样运行。

如果你同时使用 OpenVPN和tun设备,你将不得不通过IP手动添加你的设备。然后,一旦你连接到VPN,KDE Connect应该自动检测到你的设备,并连接或准备配对

可用插件

电量显示

"在你电脑电量旁显示手机电量"

启用它,KDE Connect组件将会在系统托盘显示你的手机电量

剪贴板

"在设备间分享剪贴板"

有了剪贴板,你可以简单地从电脑上复制文本,它将立即可以粘贴到你的手机上,反之亦然。不过,这对复制的图片不起作用。

Auto-sync on Android 10+

Android 10 prevents apps from accessing the clipboard to prevent malicious apps from accessing your data. This makes the clipboard plugin in KDE Connect uncomfortable to use.

Magisk Module (root only)

If you are rooted, you can use a Magisk module to remove this restriction.

Log Reading

If you have a build containing commit edc655da5ac1eb5c3027c8556cc62037a1d4c5ac, you can enable the READ_LOGS permission in order to enable a workaround to clipboard sync.

Run these commands:

adb -d shell pm grant org.kde.kdeconnect_tp android.permission.READ_LOGS;
adb -d shell appops set org.kde.kdeconnect_tp SYSTEM_ALERT_WINDOW allow;
adb -d shell am force-stop org.kde.kdeconnect_tp;

How does it work?

With log reading enabled, KDE Connect watches its own log. If it sees a line indicating that it has been denied access to read the clipboard, it pops up an invisible window to the foreground, grabs the clipboard, and closes the window.

Contacts

"Synchronize contacts between devices"

This plugin silently synchronizes contacts, in vcard format, from your phone to your desktop.

As of this writing, the synchronization is one-way, with data being sent from the Android implementation to the desktop, to be consumed by any application which uses the KPeople library with the KPeopleVCard plugin, such as the KDE Connect SMS app.

VCard Location

On non-Windows platforms, contact cards are written to QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/kpeoplevcard". This might be configured differently by your system, but normally resolves to ~/.local/share/kpeoplevcard.

On Windows, the path resolves to %LocalAppData%.

禁用屏幕保护程序

"当设备连接的时候禁用屏保"

这个插件将在设备连接的时候阻止屏保程序运行

多媒体控制

"远程控制音乐和视频"

有了这个功能,你可以远程控制你的音乐和视频,有 暂停/播放上一个/下一个前进5秒/后退5秒 。你还可以切换控制哪个媒体播放器,此外还可以控制应用程序音量和系统音量。

在Android中使用KDE Connect的多媒体控制器
在Android中使用KDE Connect的多媒体控制器

接听电话时暂停媒体

"打电话时暂停音乐/视频播放"

在通话中暂停音乐/视频。这个功能如果与Plasma 浏览器集成结合起来,就会很强大。例如,当你在Peertube或Youtube上听一些音乐时,只要你接到一个电话,视频就会暂停。

你可以把这个选项配置成只在你拿起电话时暂停,或在你的电话开始响起时直接暂停。您还可以决定是否只暂停媒体播放器或/和静音系统的声音。

发送 Ping

"发送和接受 ping."

这有助于测试你与一个特定设备的连接。一旦选择,"Ping!"将作为通知出现在你的接收设备上。

在你的桌面上,你可以通过KDE连接设置或通过托盘上的小工具发送一个ping。

在手机 KDE Connect APP上可以从顶部菜单发送ping

在Android上给电脑发送ping
在Android上给电脑发送ping

接收应用通知

"在电脑上接收并同步手机通知"

这使你与你的手机上发生的事情保持联系! 你在手机上收到的任何通知都会显示在你的电脑上。一些通知,如Telegram等即时通讯工具(IM)的通知,可以通过电脑通知本身进行即时回复。

远程文件系统浏览器

"使用SFTP远程浏览设备的文件系统"

这让你能够访问你的手机存储! 启用后,一个设备会出现在Dolphin程序中,你可以用它来浏览你的外部存储。

控制手机响铃

"通过响铃寻找手机"

这也是为了测试你与特定设备的连接情况,通过远程响铃,你可以快速找到它的位置!

执行命令

"直接执行终端命令"

使用 你可以通过手机上点下按钮,在电脑上执行预定义的命令!怎么添加命令的教程在 userbase 一系列有用的命令也可以在这里找到。一些指令样例,例如暂停和锁屏,也可用。

发送通知

"广播这台设备的通知,它们可以在其他设备上显示"

这一点不言自明:来自电脑的通知将显示在你的手机上。

你可以配置是否要发送通知描述、与应用程序有关的图标以及持续的或非常重要的通知。 这使你与你的电脑上发生的事情保持联系! 你在电脑上收到的任何通知都会在你的手机上显示。

分享和接收文件

"轻松接收和发送文件、URL或纯文本。"

这将你的桌面和浏览器集成,这样你就可以在文件或链接上点击右键,并立即发送到你的手机上!

文件的右键菜单 "通过 KDE Connect 发送至手机",并将直接发送文件,在你的通知中显示它。

链接显示右键选项 "在手机上打开",并将自动打开手机默认浏览器访问该链接。真的很方便!

当你的电脑从手机接收文件时,它们默认会下载到你的"下载"文件夹。如果你愿意,你也可以改变默认下载路径。

电话集成

"来电时显示提示"

当你的手机接到电话,就会显示通知,告诉你哪个号码来电。与 "通话时暂停媒体 "搭配使用,你肯定能够及时接听电话,并且不会错过任何一个来电!

虚拟输入=

"把你的手机当作触摸板和键盘。"

启用这个功能后,通过进入你的手机应用程序并选择远程输入,一个触摸屏将立即为你提供控制电脑鼠标的功能,类似于触摸板。一次触摸就等于一次点击。

右上方的键盘图标允许你在手机上打字,并在电脑上也能看到结果。

如果你按下汉堡包菜单的右边,你就可以发送右键和中键点击。

演示文稿控制=

可以用上一个/下一个幻灯片按钮来控制演示。当设备被锁定时,你可以用音量加/减按钮来做。你也可以使用激光笔来突出某些东西。只要移动你的手机,蓝色的圆圈就会跟着出现 使用汉堡包菜单,你可以切换全屏(F5)或退出演示(Esc)。

故障处理

我有两个设备运行 KDE Connect 但他们不能发现对方

KDE Connect 在 1714-1764 内的动态端口使用UDP和TCP协议 。因此,如果你在防火墙后面,确保为TCP和UDP打开这个端口范围。否则,请确保你的网络没有阻挡UDP广播数据包。

Check that the process is listening on the network:

sudo netstat -tunelp | grep -i kdeconnect

Are the ports open/blocked?

netcat -z -v <your-phones-ip> 1714-1764

Example output:

Connection to <your -phones-ip> 1716 port [tcp/*] succeeded!

You also get lots of Connection refused, but you need 1 “succeeded”

ufw防火墙

如果你使用ufw防火墙,你可以通过如下指令打开必要的端口:

sudo ufw allow 1714:1764/udp
sudo ufw allow 1714:1764/tcp
sudo ufw reload

firewalld 防火墙

如果你使用 firewalld防火墙,你可以通过如下指令打开必要的端口:

sudo firewall-cmd --zone=public --permanent --add-port=1714-1764/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1714-1764/udp
sudo systemctl restart firewalld.service

防火墙配置 (firewall-config)

打开 防火墙配置 (firewall-config). 在 分区(Zones)服务(Services), 选中 kde-connect 服务.

确保你在顶部的下拉菜单中选中了"持久的" 配置: 选项,否则重启后会丢弃你的更改。

iptables

如果你使用 firewalld 防火墙,你可以通过如下指令打开必要的端口:

sudo iptables -I INPUT -i <yourinterface> -p udp --dport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I INPUT -i <yourinterface> -p tcp --dport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT

sudo iptables -A OUTPUT -o <yourinterface> -p udp --sport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -o <yourinterface> -p tcp --sport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT

当与另一个设备配对时 KDE Connect 崩溃或重启

有时,错误的配置文件可能在设备配对时导致 KDE Connect 软件崩溃,如果是这样,试试删除 ~/.config/kdeconnect 的配置文件

KDE Connect Android app crashes

If the KDE Connect Android app crashes, you might be able to get more information about the crash by using adb logcat.

Set up ADB using the official instructions

The following command should list all information relevant to your crash. Run adb logcat *before* triggering the crash.

adb logcat --pid=$(adb shell pidof -s org.kde.kdeconnect_tp)

没有显示服务器我能运行KDE Connect吗?

是的, 你可以传递命令行参数` -platform offscreen` to the daemon (例如: `killall -9 kdeconnectd; /usr/lib/libexec/kdeconnectd -platform offscreen`)

GSConnect

GSConnect是一个独立的项目,它将KDE Connect协议引入GNOME实现,并使用相同的Android应用。如果你正在运行GSConnect,请先访问该项目GitHub页面以获得支持。如果你和GSConnect团队确定问题出在安卓应用或协议上,请随时在KDE Connect错误跟踪器中报告这些问题。

列表中没有我遇到的问题 :(

如果你想提交并报告一个BUG,你可以在KDE bug tracker 报告。