用于控制连接到 ubuntu 桌面同一 LAN 的三星智能电视的 GUI 应用程序

用于控制连接到 ubuntu 桌面同一 LAN 的三星智能电视的 GUI 应用程序

我注意到没有人对此提出问题,这听起来很奇怪。无论如何,我知道宝石项目已被放弃,所以我想知道是否有类似的东西被开发出来。简而言之,我想在我的 Ubuntu PC 上安装一个遥控器应用程序来控制连接到同一本地网络的三星智能电视。

答案1

您可以使用 YAD 为 CLI 命令创建 GUI 前端。

正如评论指出的那样,三星智能电视有一个 CLI 控制器:

您只需要安装 Yadsudo apt install yad并创建一个如下 GUI 窗口:

雅德遥控器

使用此命令:

yad --title "Remote Control" --text "Samsung Smart TV" --width 250 --height 400 --form --columns 2 --field "Power:FBTN"  --field "Vol +:FBTN" --field "Vol -:FBTN" --field "Input:FBTN"  --field "Chan +:FBTN" --field "Chan -:FBTN"

将每个按钮链接到三星控制程序需要额外的代码:

samsungctl --host <host> [options] <key> [key ...]

如果我有一台三星智能电视,我会很乐意编写完整的脚本。但是我的智能电视是索尼和东芝的。我将尝试尽快为这些电视编写一个远程控制 GUI 脚本。


实际操作

我创建了一个小演示,其中不是调用三星智能电视命令,而是将其回显到屏幕上。

yad 电视遥控器.gif

单行代码现在稍微长一点:

yad --title "Remote Control" --text "Samsung Smart TV" --width 250 --height 400 --form --columns 2 --field "Power:FBTN" 'bash -c "echo Power"'  --field "Vol +:FBTN" 'bash -c "echo Volume Up"' --field "Vol -":FBTN 'bash -c "echo Volume Down"' --field "Input:FBTN" "bash -c 'echo "Input"'"  --field "Chan +:FBTN" 'echo "Channel up"' --field "Chan -:FBTN" 'bash -c "echo Channel Down"'

正如评论中提到的,如果你有一台 2016 年以后的三星电视,你还需要下载websocket-client

答案2

yad --title "遥控器" --text "三星智能电视" --width 250 --height 400 --form --columns 2
--field "Vol+:FBTN" 'bash -c "echo volume UP && samsungctl --host 192.168.1.5 KEY_VOLUP "'
--field "Vol -":FBTN 'bash -c "echo Volume Down && samsungctl --host 192.168.1.5 KEY_VOLDOWN"'
--field "Chan +:FBTN" 'bash -c "echo Channel UP && samsungctl --host 192.168.1.5 KEY_CHUP"'
--field "Chan -:FBTN" 'bash -c "echo Channel Down && samsungctl --host 192.168.1.5 KEY_CHDOWN"'
--field "ListCH -:FBTN” ‘bash -c “echo 列出频道 && samsungctl --host 192.168.1.5 KEY_CH_LIST”’
--field “Ret -:FBTN” ‘bash -c “echo 退出 && samsungctl --host 192.168.1.5 KEY_EXIT”’

相关内容