Вы можете использовать командный файл
e, g:
file images.jpg
вывод будет примерно таким:
images.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density
1x1, segment length 16, baseline, precision 8, 342x147, frames 3
OR
rdjpgcom -verbose images.jpg
образец вывода
JPEG image is 342w * 147h, 3 color components, 8 bits per sample
JPEG process: Baseline
Действия в графическом интерфейсе, как правило, не вызывают команд оболочки. Иногда такое бывает, но редко. Скорее, как программы с графическим интерфейсом пользователя, так и программы командной строки (включая оболочки) вызывают одни и те же базовые программные интерфейсы.
Если вы хотите понять, как программа что-то делает, проверьте ее документацию или исходный код. Вы можете попробовать понаблюдать за ним, но понять это бывает сложно.
В Linux программа strace перечисляет системные вызовы , сделанные программой. Узнайте идентификатор процесса программы (например, с помощью команды ps xww
), скажем, 1234, и запустите
strace -p1234 -o widget.strace
Выполните действие, которое вы хотите наблюдать, затем уничтожьте strace ( Ctrl + C в терминале). Посмотрите выходной файл и попробуйте разобраться.Вы увидите интенсивную связь с X-сервером (вызовы read
и write
для конкретного описания файла) из-за действий графического интерфейса. Если действие выполняется X-сервером, вам необходимо дополнительно проанализировать этот протокол. Вы также можете наблюдать за удаленными вызовами через D-Bus ; чтобы понять их, запустите dbus-monitor
, чтобы получить удобочитаемую трассировку трафика D-Bus. В противном случае посмотрите, что еще делает программа.
Звук в Ubuntu обычно идет через Pulseaudio . Приложение использует D-Bus для связи с сервером Pulseaudio. Pulseaudio имеет интерфейс командной строки с программами, имя которых начинается с pa
, включая pavucontrol
для управления громкостью.