LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Самое простое, что приходит в голову - разбить программу на два бинарника. Один запускается от root, другой от юзера. Root слушает клавиши и по сокету шлёт инфу о необходимости переключить раскладку программе запущенной от юзера.

Удобным кажется вариант, что программа запускается от юзера, а затем запускает саму себя же с правильным ключом и через sudo (добавить эту команду в sudoers, чтобы не просила пароль), а затем рутовая часть через stdout выдаёт запросы на переключение раскладки, а пользовательская часть считывает их (она же родитель рутового процесса) и переключает.

Всякие варианты имитации «работая от root прикинуться пользователем» потенциально не очень надёжны и более сложны в реализации. А ещё то что программа целиком работает от root плохо с точки зрения безопасности, лучше всего изолировать минимальную часть, которой нужны права, а остальное гонять от юзера. Также удобно, что юзер может убить пользовательскую часть и рутовая тоже умрёт как дочерний процесс.

Исправление KivApple, :

Самое простое, что приходит в голову - разбить программу на два бинарника. Один запускается от root, другой от юзера. Root слушает клавиши и по сокету шлёт инфу о необходимости переключить раскладку программе запущенной от юзера.

Удобным кажется вариант, что программа запускается от юзера, а затем запускает саму себя же с правильным ключом и через sudo (добавить эту команду в sudoers, чтобы не просила пароль), а затем рутовая часть через stdout выдаёт запросы на переключение раскладки, а пользовательская часть считывает их (она же родитель рутового процесса) и переключает.

Всякие варианты имитации «работая от root прикинуться пользователем» потенциально не очень надёжны и более сложны в реализации. А ещё то что программа целиком работает от root плохо с точки зрения безопасности, лучше всего изолировать минимальную часть, которой нужны права, а остальное гонять от юзера.

Исправление KivApple, :

Самое простое, что приходит в голову - разбить программу на два бинарника. Один запускается от root, другой от юзера. Root слушает клавиши и по сокету шлёт инфу о необходимости переключить раскладку программе запущенной от юзера.

Удобным кажется вариант, что программа запускается от юзера, а затем запускает саму себя же с правильным ключом и через sudo (добавить эту команду в sudoers, чтобы не просила пароль), а затем рутовая часть через stdout выдаёт запросы на переключение раскладки, а пользовательская часть считывает их и переключает.

Всякие варианты имитации «работая от root прикинуться пользователем» потенциально не очень надёжны и более сложны в реализации. А ещё то что программа целиком работает от root плохо с точки зрения безопасности, лучше всего изолировать минимальную часть, которой нужны права, а остальное гонять от юзера.

Исправление KivApple, :

Самое простое, что приходит в голову - разбить программу на два бинарника. Один запускается от root, другой от юзера. Root слушает клавиши и по сокету шлёт инфу о необходимости переключить раскладку программе запущенной от юзера.

Удобным кажется вариант, что программа запускается от юзера, а затем запускает саму себя же с правильным ключом и через sudo (добавить эту команду в sudoers, чтобы не просила пароль), а затем рутовая часть через stdout выдаёт запросы на переключение раскладки, а пользовательская часть считывает их и переключает.

Исправление KivApple, :

Самое простое, что приходит в голову - разбить программу на два бинарника. Один запускается от root, другой от юзера. Root слушает клавиши и по сокету шлёт инфу о необходимости переключить раскладку программе запущенной от юзера.

Удобным кажется вариант, что программа запускается от юзера, а затем запускает саму себя же с правильным ключом и через sudo, а затем рутовая часть через stdout выдаёт запросы на переключение раскладки, а пользовательская часть считывает их и переключает.

Исходная версия KivApple, :

Самое простое, что приходит в голову - разбить программу на два бинарника. Один запускается от root, другой от юзера. Root слушает клавиши и по сокету шлёт инфу о необходимости переключить раскладку программе запущенной от юзера.