WMI установить переменную в LINUX?

Что такое в Linux эквивалентный код этого фрагмента vb.net:

    Public Sub SwitchGFX() 
' Switches GFX card on MSI Notebooks
' Coded by Zibri http://www.zibri.org
        Dim mo As New ManagementObject("\root\WMI:MSI_System.InstanceName=""ACPI\\PNP0C14\\0_4""")
        mo.SetPropertyValue("System", 1)
        mo.Put()
    End Sub

Или эта команда оболочки Windows:

wmic /namespace:\\root\wmi path MSI_System.InstanceName="ACPI\\PNP0C14\\0_4" set System=0
wmic /namespace:\\root\wmi path MSI_System.InstanceName="ACPI\\PNP0C14\\0_4" set System=1

PS Этот код переключает VGA с Intel на NVIDIA на ноутбуке MSI.

2 ответа

WMI, скорее всего, не будет работать в Linux, так как для этого требуется служба WMI Windows. Однако в этой статье упоминается, как вы можете переключиться на другой графический процессор с помощью команды терминала (см. Нижнюю часть шага 4). Поэтому в сочетании с некоторыми исследованиями того, как вы можете запускать команды терминала Linux из.NET (кстати, ответом кажется Bash), я предполагаю, что это может быть потенциальным решением:

Public Sub SwitchToNVIDIA()
    Process.Start("/bin/bash", "prime-select nvidia")
End Sub

Public Sub SwitchToIntel()
    Process.Start("/bin/bash", "prime-select intel")
End Sub

Не берите в голову. Я перевернул программное обеспечение MSI и воспроизвел коммутатор на linux и в оболочке efi. Теперь окна больше не нужны для переключения графических карт.

Так что я опубликую все на моем сайте http://www.zibri.org/

Спасибо за ничего.

Другие вопросы по тегам