Я хочу графическое приложение для Linux, которое отображает содержимое CD / DVD / Blu-Ray приводов и позволяет воспроизводить или извлекать, и я хотел бы, чтобы решение было общим, чтобы я мог пожертвовать его Linux Mint, то есть тип диска и любое количество дисков. В моей системе три DVD-привода и Blu-Ray.
Я хотел бы написать это в bash, используя функции диалога внутри окна терминала, но мне нужно, чтобы диалог отображался в относительном значении, поэтому мне нужно прерывание, чтобы сигнализировать, когда привод открывается или закрывается — какой сигнал я могу перехватить? Кроме того, как я могу включить логику, чтобы выбрать программу для воспроизведения медиа в зависимости от типа медиа.
Кроме того, следует ли мне написать его на Java, Python, C ++ или другом языке, и если да, то как получить информацию об оборудовании (например, количество и емкость накопителей, а также тип и название оптического носителя в накопителе)?
Игнорирование стороны «Я хочу пожертвовать это Linux Mint», которая, на мой взгляд, немного претенциозна, есть eject
Утилита в Linux.
Исходный код этого можно найти здесь:
https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/sys-utils/eject.c
В этом коде также есть код для определения, открыт ли диск, закрыт, нет диска и т. Д.
Для воспроизведения CD или DVD это совсем другой чайник рыбы. Написание аудио-плеера не совсем тривиально (даже в простом случае простого кодирования PCM, очевидно, что MP3 снова довольно сложен), а видео-плейер намного больше.
Чтобы «выбрать программу», вы должны знать, как могут называться доступные плееры, и, если хотите, проверить, какие из них действительно установлены. Я не знаю ни одного действительно умного способа достичь этого, кроме наличия списка игроков в вашем коде (который необходимо обновить). На самом деле, я знаю, что Geeqie для просмотра фотографий работает, когда вы хотите отредактировать снимок: у него есть список «известных редакторов», и он сканирует PATH, чтобы найти доступные.
Других решений пока нет …