Возможно, существует более легкое решение для этого, но мое первое предположение должно было использовать actkbd - клавиатура (но не только) демон ярлыка, который работает за пределами X-сервера.
В файле конфигурации можно связать любую комбинацию ключей с любой командой. Больше деталей о выполнении actkbd Вы может найти в этом ответе.
Rhythmbox можно управлять по интерфейсу dbus, поэтому при привязке той команды с немного, включают его, изменяют дорожку.
dbus-send --type=method_call --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
Обнаружить больше dbus "управляет", чтобы можно было использовать d-ноги.
С GNU strings
, использовать
strings --print-file-name -- *
снабдить префиксом результаты именем файла (как grep
).
grep
понятия не имеет, куда строки прибыли из при использовании этого метода, потому что он никогда не видит имен файлов. Если Вы хотите имена файлов, использовать -l
и передайте шарик grep
непосредственно:
grep -l message ./*
grep
как GNU grep
это поддерживает двоичные файлы чтения.
– Stéphane Chazelas
21.05.2013, 12:59
--
? Это не был бы POSIX, и я серьезно сомневаюсь, что любая реализация предPOSIX поддерживала бы двоичный файл.
– Stéphane Chazelas
21.05.2013, 13:23
--
. Я просто протестировал.
– Chris Down
21.05.2013, 19:19
С GNU grep
, можно сделать:
grep -Hobae '[[:print:]]*message[[:print:]]*' -- *
Это скажет Вам имя файла и смещение в файле каждой печатаемой строки, содержащей message
.
strings --print-file-name * | grep ': message'
(имена файлов, произведенныеstrings
завершаются:
). Основной вопрос состоит в том, хочет ли OP просто имена файлов (затем использованиеgrep -l
только лучше), или хочет ли он также совпавшие строки (затемgrep
будет или жаловаться на двоичный мусор или производить двоичный мусор, и ни один из них не полезен). исправление – Uwe 21.05.2013, 12:31strings --print-file-name * | grep ': .*message'
лучше. – Uwe 21.05.2013, 12:44foo: message
например) – Stéphane Chazelas 21.05.2013, 13:25