ChrAlpha's Blog

Thumbnail-%E6%9C%80%E4%BC%98%E9%9B%85%E8%A7%A3%E5%86%B3%E9%87%8D%E5%90%AF%E5%90%8E%E7%BD%97%E6%8A%80%20G%20HUB%20%E5%8A%A0%E8%BD%BD%E5%8D%A1%20Logo%20%E4%B8%8E%E5%AE%8F%E5%A4%B1%E6%95%88

最优雅解决重启后罗技 G HUB 加载卡 Logo 与宏失效

2023-02-05·笔记本

TL;DR

  • 加载卡 Logo 循环解决方案:

    管理员权限 运行以下所需脚本,

    开启脚本即——

    %GHub_start.cmd%
    
    taskkill /im lghub.exe /f
    taskkill /im lghub_agent.exe /f
    taskkill /im lghub_updater.exe /f
    sc config LGHUBUpdaterService start= demand
    sc start LGHUBUpdaterService
    start "" "C:\Program Files\LGHUB\lghub_updater.exe"
    start "" "C:\Program Files\LGHUB\lghub_agent.exe"
    start "" "C:\Program Files\LGHUB\lghub.exe"

    关闭脚本即——

    %GHub_stop.cmd%
    
    taskkill /im lghub.exe /f
    taskkill /im lghub_agent.exe /f
    taskkill /im lghub_updater.exe /f
    sc stop LGHUBUpdaterService
    sc config LGHUBUpdaterService start= disabled
  • 宏无法操作点击解决方案:

    退出 G HUB 后以管理员权限重新启动 G HUB。如果希望开机自动以管理员权限运行,按以下操作——

    1. 在「任务计划程序(Task Scheduler)」中创建基本任务
    2. 「触发器」选择「计算机启动时」或「当前用户登录时」(建议后者)
    3. 「操作」选择「启动程序」,启动 lghub.exe
    4. 完成前勾选「打开此任务属性」
    5. 在任务属性中勾选「常规 - 使用最高权限运行」并取消勾选「设置 - 如果任务运行超过以下时间…」

上一个罗技 G304 鼠标终于在我手上服役 5 年后寿终正寝——长按左键实现的操作并不是按住反而是多次点击,侧边两个可编程按键靠下的那个也会时不时没反应,可能是日常使用「返回」操作比较频繁。

之前一只没有对鼠标有什么研究,毕竟背笔记本去教室第一个被我丢下的就是鼠标,而且我自己对鼠标的需求一直很低。本着任何消费都要一番调研才安心的划算男孩,被一堆花里胡哨绕得晕头转向最后懒得挑又下单一款一模一样的白色 G304……

两个 G304

倒也不能说这一番调研毫无意义 (嘴硬ing),比如我还是了解到罗技的 G HUB 等一些软件工具。虽说在老家最后那一摔确实是直接造成的上一个鼠标的死亡,但放假后 练习 aaz 也或多或少间接加速了死亡进程。充分利用宏减常用按键压力已经刻不容缓。

加载卡 Logo 一直转圈

然后不出意外地出意外了。

依据「最小化原则」,我并没有修改可编程按键直接应用到「桌面」上,因为应用到「桌面」相当于一个全局设定,对不同程序应用不同的按键修改可以更加有针对性,同时某种意义上使得可编程按键数量更多了。据此操作,我只希望在部分程序启动的时候开启 G HUB 而非开机自启。

但是关闭 G HUB 开机自启动后,重启后开启 G HUB——无论是否以管理员权限运行——都会无限加载卡在启动 Logo 界面一直转圈,抑或提示更新后自动重启但退到后台便没后文。

Logitech Logo

简单将几个关键词丢进搜索引擎可以发现早有前人遇到了一样的问题。

为了解释这个问题这就不得不提 G HUB 的启动,先执行 G HUB 更新服务再启动 G HUB。这里的自动更新是无法关闭的,我很讨厌这种行为。尽管 Chrome 也是自动更新令我反感,但是禁止 Chrome 的自动更新服务并不会导致无法运行 Chrome,顶多是一些报错而已。在 G HUB 的观念中,G HUB 更新服务也是开机自启的,所以在启动 G HUB lghub.exe 过程中不会先(再)启动一次 G HUB 更新服务 lghub_updater.exe 而是直接等待自动更新完成并进入 G HUB。

显然,这种无端的「等待」是不会有结果的,而 G HUB 一直等待也是造成启动卡在加载 Logo 界面的罪魁祸首。

若想解决这个问题,通过任务管理器关闭所有 G HUB 相关进程并 顺序依次以管理员权限 启动 lghub_updater.exelghub_agent.extlghub.exe,这三个应用程序通常在 C:\Program Files\LGHUB 路径下,你也可通过快捷方式的属性内通过「目标」「起始位置」两个参数确定位置。

G HUB 快捷方式属性

同样的,通过一个 CMD 脚本也可以实现,只需要以管理员权限运行这个脚本,使得操作尽可能简化。

taskkill /im lghub.exe /f
taskkill /im lghub_agent.exe /f
taskkill /im lghub_updater.exe /f
start "" "C:\Program Files\LGHUB\lghub_updater.exe"
start "" "C:\Program Files\LGHUB\lghub_agent.exe"
start "" "C:\Program Files\LGHUB\lghub.exe"

大部分教程在这里就结束了,但是我的问题至此仍未解决。进行完上述操作后我依然是加载卡 Logo 一直转圈。

翻了更多搜索结果才知道要在 Service 里解除 LGHUBUpdaterService 的禁用。是的,关闭开机自启后,重启会导致 LGHUBUpdaterService 启动类型由原来的「自动」改为「禁止」,而非我理解中更应该的「手动」。

服务 LGHUBUpdaterService

将启动类型调整为「手动」后应用,此时变灰的启动按钮就可操作了。

但是每次需要启动 G HUB 的时候来这里手动操作实在太繁琐了,而像我反感 G HUB 自动更新的用完还要特地关闭,就更加火大。我希望能通过命令行实现上述操作,这样就只需要一个 CMD 脚本。

事实上还真有控制 Service 的命令——NETSCNET 包含了管理网络环境、服务、用户、登陆大部分重要的管理功能,但偏偏无法开启被禁用的 Service,这里就不再介绍。SC(Service Control 的缩写)命令,顾名思义是专门控制 Service 的命令,可以查询、创建、删除、开关 Service,这次我们需要的命令语法如下——

%调整服务状态%
sc config [serviceName] start= auto|demand|disabled

%开关服务%
sc start|stop [serviceName]

切记第一条命令 start= 后的空格 不可 省略。

我们通过第一种命令将 Service 的启动类型由「disabled(禁止)」改为「demand(手动)」便解除了 Service 的禁止状态,再通过第二条命令手动开启。对于 LGHUBUpdaterService 的命令就是——

sc config LGHUBUpdaterService start= demand
sc start LGHUBUpdaterService

加上之前按顺序启动那三个应用程序的命令,整个开启脚本即——

%GHub_start.cmd%

taskkill /im lghub.exe /f
taskkill /im lghub_agent.exe /f
taskkill /im lghub_updater.exe /f
sc config LGHUBUpdaterService start= demand
sc start LGHUBUpdaterService
start "" "C:\Program Files\LGHUB\lghub_updater.exe"
start "" "C:\Program Files\LGHUB\lghub_agent.exe"
start "" "C:\Program Files\LGHUB\lghub.exe"

关闭脚本即——

%GHub_stop.cmd%

taskkill /im lghub.exe /f
taskkill /im lghub_agent.exe /f
taskkill /im lghub_updater.exe /f
sc stop LGHUBUpdaterService
sc config LGHUBUpdaterService start= disabled

以管理员权限 运行所需脚本即可一步完成。

宏无法操作点击

这个问题其实是更多人会遇到的。即便允许 G HUB 开机自启,在计算机重启之后,鼠标宏也只能操作键盘和指针移动、无法操作点击。这个 Bug 甚至有点讽刺,鼠标宏无法操控正确鼠标。

在安装后是能够正常操控鼠标的,手动退出 G HUB 后以管理员权限重新启动,鼠标宏操作便一切正常了。

你也可以在 lghub.exelghub_updater.exelghub_agent.exe 三个主要的应用程序属性中勾选「兼容性 - 以管理员身份运行」。

G HUB 管理员运行

不过即便不用手动重新启动,每次启动都有一个权限请求弹窗也同样令人恼火,好在可以通过「任务计划程序(Task Scheduler)」在每次开机的时候以管理员权限运行。操作步骤如下——

  1. 在「任务计划程序(Task Scheduler)」中创建基本任务Task Scheduler Create
  2. 「触发器」选择「计算机启动时」或「当前用户登录时」(建议后者)Task Scheduler IF
  3. 「操作」选择「启动程序」,启动 lghub.exe
  4. 完成前勾选「打开此任务属性」Task Scheduler final
  5. 在任务属性中勾选「常规 - 使用最高权限运行」并取消勾选「设置 - 如果任务运行超过以下时间…」Task Scheduler Config 1 Task Scheduler Config 2

在发出这篇文章的时候,我已经抛弃 G HUB 了。但是毕竟花费些许时间在这上面,还是整理出解决重启后罗技 G HUB 加载卡 Logo 与宏失效的方案,留给依旧能够忍受 G HUB 的用户。

最后我还是要抱怨,即便不和其他同类产品对比,G HUB 远不比自家的 LGSOMM 好用,甚至以「害怕电竞抵制」这种无聊理由自我阉割板载内存模式禁用高级宏,结果是 G HUB 体验就比不过 19 年以前的老款 G HUB……

现在迫切需要一个够格的竞争对手给予足够的刺激。

最优雅解决重启后罗技 G HUB 加载卡 Logo 与宏失效
本文作者
ChrAlpha
发布日期
2023-02-05
更新日期
2023-02-07
转载或引用本文时请遵守 CC BY-NC-SA 4.0 许可协议,注明出处、不得用于商业用途!
CC BY-NC-SA 4.0