Поскольку постоянное решение дает команду в консоли:
echo 'keycode 13 = 4 backslash 4 ccedilla onequarter dollar onequarter' >> $HOME/.Xmodmap
затем переключите расположение или проблему xmodmap - < $HOME/.Xmodmap
В течение одного времени (или выполняться при каждом запуске от $HOME/.xinitrc
): xmodmap -e 'keycode 13 = 4 backslash 4 ccedilla onequarter dollar onequarter'
См. http://www.linuxintro.org/wiki/run_vlc_as_root :
Резервное копирование двоичных VLC:
# CP / USR / BIN / VLC / USR / BIN / VLC- резервный
Найдите звонок на Geteuid
Внутри двоичных VLC:
# игла = $ (objdump -d / usr / bin / vlc | greep euid | хвост -1 | awk '{print "\ \ x "$ 2" \\ x "$ 3" \\ x "$ 4" \\ x "$ 5" \\ x "$ 6;} ')
Замените звонок, чтобы просто доставить :
:
# SED -IR "S / $ игла / \ xb8 \ x01 \ x00 \ x00 \ x00 /" / usr / bin / vlc
Тест его
VLC теперь должен работать под пользователем root!
Вы можете попробовать это:
top -p "$(pidof <process_name> | awk 'OFS="," { $1 = $1; print; }')"
-121--153505- Использование bash
:
top -p "$(pname="$(pidof <process_name>)"; echo "${pname// /,}")"
Использование tr
:
top -p "$(pidof <process_name> | tr ' ' ',')"
Использование sed
:
top -p "$(pidof <process_name> | sed 's/ /,/g')"
-121--153506- Это сработало для меня. Компиляция не требуется.
sed -i 's/geteuid/getppid/' /usr/bin/vlc
Использование медиаплеера VLC 2,0,3 Twoflower на Малину Pi.
Вы сможете запустить VLC как root, изменение двоичного файла VLC, расположенного в / usr / bin
Сначала вам понадобится шестнадцатеричный редактор, например Bless:
sudo apt-get install bless
Затем вы откроете двоичный файл VLC с шестнадцатеричным редактором:
sudo bless /usr/bin/vlc
Найдите и измените строку geteuid
на getppid
, сохраните и выйдите.
Теперь вы можете запустить VLC от имени пользователя root.
Перейдите в главное меню
найдите vlc
и установите свойство как:
gksu -u vlc
или просто в типе терминала
gksu -u <username(no root)> vlc
Например, если у вас есть abc
user ваша команда будет:
gksu -u abc vlc
Кевин в комментариях к вопросу предложил использовать vlc-wrapper.У меня были проблемы с тем, как его использовать, поэтому я опишу, как я заставил его работать:
вам нужно установить непривилегированного пользователя в SUDO_UID: export SUDO_UID=1000
если у вас нет пользователя для запуска vlc под создайте его:
useradd -g users vlc
# this will show you the uid of vlc user
id -u vlc
если вы хотите, чтобы переменная SUDO_UID была постоянной, добавьте ее в bashrc:
echo "export SUDO_UID=1000" >> /root/.bashrc
будьте осторожны, чтобы не написать одиночный > вместо > >
затем используйте vlc-wrapper вместо vlc