Системная команда в терминал Linux на python

Интересен момент передачи системных команд на Python в Linux. Например такой код работает.

import os
command = "python --version"
res = os.system(command)
print("Returned Value: ", res)

А такой нет. Выдает: sh: строка 1: amixer: команда не найдена

import os
command = "amixer -c 2 set 'Output Select' 'Headphone'"
res = os.system(command)
print("Returned Value: ", res)

Интересно почему. Спасибо.


Ответы (1 шт):

Автор решения: Dmitry

Короче, похоже проблема была с правами. Если обращаться к amixer из /usr/bin/amixer, где он и находился, то по какой-то причине ничего не происходит. А если скопировать amixer в папку с проектом, и вызывать оттуда, пример ниже, то все отлично работает. Плюс нужно юзать subprocess. Мб кому поможет.

import subprocess
        def Headphones(self):
            subprocess.Popen ("/home/dmitry/PycharmProjects/2/amixer -c 2 set 'Output Select' 'Headphone'", shell=True)
→ Ссылка