How to execute "gksudo umount VirtualDVD"

Demosthenes Koptsis demosthenesk at gmail.com
Fri Oct 28 04:47:38 EDT 2016


I figure it out....

umount accepts full path of mounting point.

i changed my function as following and now it works.

     def umount(self):
         '''unmounts VirtualDVD'''
         #get virtualdvd folder
         home = QtCore.QDir.homePath()
         vpath = home + "/VirtualDVD"

         cmd = 'gksudo umount ' + vpath
         proc = subprocess.Popen(str(cmd), shell=True, 
stdout=subprocess.PIPE).stdout.read()
         print proc


On 10/28/2016 11:05 AM, Demosthenes Koptsis wrote:
> Yes it was pasted wrong...
>
>     def umount(self):
>         '''unmounts VirtualDVD'''
>         cmd = 'gksudo umount VirtualDVD'
>         proc = subprocess.Popen(str(cmd), shell=True, 
> stdout=subprocess.PIPE).stdout.read()
>         print proc
>
> it fails silently.... the gksudo runs correctly. I can input the 
> password.
>
> But the umount does nothing. I keep have mounted the VirtualDVD folder.
>
>
> On 10/28/2016 12:54 AM, Ian Kelly wrote:
>> On Thu, Oct 27, 2016 at 3:30 PM, Demosthenes Koptsis
>> <demosthenesk at gmail.com> wrote:
>>> I want to execute the command "gksudo umount VirtualDVD"
>>>
>>> My code is this but it fails:
>>>
>>> def umount(self):
>>>      '''unmounts VirtualDVD''' cmd ='gksudo umount VirtualDVD' proc =
>>> subprocess.Popen(str(cmd),shell=True,stdout=subprocess.PIPE).stdout.read() 
>>>
>>>      print proc
>> It looks like your code pasted incorrectly.
>>
>>> It pops up the gksudo dialog, and then fails. But i don't get any 
>>> stdout or
>>> stderror.
>> Fails how? Is there an error? Does it hang? Does nothing happen at all?
>>
>> My initial thought is that you might want to try using
>> Popen.communicate instead of stdout.read in case you're getting
>> deadlocked. See the big red warning below
>> https://docs.python.org/3/library/subprocess.html#subprocess.Popen.stdout 
>>
>




More information about the Python-list mailing list