Програма PrimeSwitcher для более удобного переключения Nvidia-Prime

Представляю простую програму для переключения видеокарт.

PRIMESWITCHER

Скачать PrimeSwitcher - Яндекс.Диск
Работает с Nvidia-Prime и заточена под Kubuntu.


Програма работает и 18-02-2016 появился малый интерфейс, ещё немного доточить, а пока.....
нужно сделать несколько настроек.
1.Распаковать в домашнюю папку (~/). Папка скрытая - .primeswitcher
2.Можно, но не обязательно настроить sudo без пароля. Здесь написано как это сделать
3.В папке .primeswitcher выбрать значок primeswitcher.desktop и создать ярлык где вам убодно.
4. Если скрипт не запускается, зайдите в свойства файла primeswitcher.sh и во вкладке 'Права' установите флажок 'Является выполняемым'
------
Обновлен 24-02-2016
#!/bin/bash
if test `prime-select query` == nvidia;
then
#Отключение видеокарты Nvidia
kdialog --title "PrimeSwitcher" --icon nvidia-settings --yesno "Используется видеокарта Nvidia®. \n Переключить на Intel®?";
case $? in
0)
kdesudo prime-select intel;
cp ~/.primeswitcher/intel.desktop ~/.primeswitcher/primeswitcher.desktop;
kdialog --passivepopup "Компьютер будет перезагружен.\n Видеокарта Nvidia® будет отключена." 2;
sleep 3;
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 3 3;
;;
1)
kdialog --passivepopup "Используется видеокарта Nvidia®" 2;
exit
;;
255)
kdialog --passivepopup "Используется видеокарта Nvidia®" 2;
exit
;;
esac
#
else
#Включение видеокарты Nvidia
kdialog --title "PrimeSwitcher" --icon ~/.primeswitcher/v_intel --yesno "Используется видеокарта Intel®.. \n Переключить на Nvidia®?";
case $? in
0)
kdesudo prime-select nvidia;
cp ~/.primeswitcher/nvidia.desktop ~/.primeswitcher/primeswitcher.desktop;
kdialog --passivepopup "Компьютер будет перезагружен.\n Видеокарта Nvidia® будет включена." 2;
sleep 3;
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 3 3;
#dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart;
;;
1)
kdialog --passivepopup "Используется видеокарта Intel®" 2;
exit
;;
255)
kdialog --passivepopup "Используется видеокарта Intel®" 2;
exit
;;
esac
#
fi

Фото папки с файлами - Смотреть
Фото экрана с Nvidia - Значок-ссылка Nvidia возле часов + Сообщение о видеокарте
Фото экрана с Intel - Значок-ссылка Intel возле часов + Сообщение о видеокарте

БУДУ РАД, ЕСЛИ КТО ТОЛКОВЕЕ ДОТОЧИТ ПРОГРАМКУ, ЧТОБЫ НЕ НУЖНО БЫЛО ЗАМАРАЧИВАТЬСЯ С НАСТРОЙКОЙ И АДАПТАЦИЕЙ ПОД ОПРЕДЕЛЕННОГО ПОЛЬЗОВАТЕЛЯ

Комментарии (2)

0
РыжийПёс - 26 Февраль, 2016 - 17:59
Изображение пользователя РыжийПёс.

Спасибо автору за программу!

...выскажу свои мысли по сабжу:
В файле intel.desktop нужно прописать корректный путь до значка intel, учитывая имя пользователя.
Также во всех файлах *.desktop не плохо было бы прописать категории (например, Categories=Settings;DesktopSettings;Utility; ), дабы в меню ярлык не оказывался в папке "прочее".
Строки
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 3 3;
я заменил на
kdesudo reboot;
..ибо при переключении с интел на нвидиа, ноутбук заглючил. Возможно, это связано с особенностями UEFI, возможно, это только у меня, но всё же ИМХО, перезагрузка надёжнее, чем перезаход в сеанс, к тому же удобнее, поскольку не надо вводить пароль.
А чтобы при переключении карт система не приставала с sudo-паролем, я сделал так:
в консоли пишем:
sudo visudo
откроется редактор nano, в конец файла дописываем:
Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/poweroff, /usr/bin/prime-select
%sudo ALL=NOPASSWD: SHUTDOWN_CMDS

(обязательно оставляя в конце файла пустую строку) и сохраняем файл.

0
Гость - 28 Февраль, 2016 - 02:10

Корректный путь в файлах *.desktop приведет к тому что он не будет запускаться на другом компе, если не изменить пользователя, хотя если вставить $USER может получиться.
Можно переместить папку с програмой в /usr/share/ и поправить пути. Вариантов куча. Как кому удобно

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры