2011-01-03 1 views
3

Ich konfigurierte meine Anwendungen zu piepen wenn getan (hilft mir Multitasking bei langen Läufen). Auf Fenster war es einfach:Configure Eclipse zu beep wenn getan (Python, Linux)

def beep_please(): 
    """Beep on Windows""" 
    if os.name == 'nt': 
     import winsound #@UnresolvedImport 
     winsound.MessageBeep(winsound.MB_ICONEXCLAMATION) 

import atexit 
atexit.register(beep_please) 

Das Problem ist, ich vor kurzem auf Linux und einfache Piepschaltet funktioniert nicht. Drucken '\a' funktioniert auch nicht. Hilfe?

+0

verwandte: http://stackoverflow.com/q/974071/4279 – jfs

+0

Siehe die Antwort auf diese Frage: http://stackoverflow.com/questions/6445425/can-eclips-notify-me-when-a-task-has-finished-running Eine Art Seele zur Verfügung gestellt Quellcode für ein Eclipse-Plugin, dass piept, wenn ein Job abgeschlossen ist. –

Antwort

0

Wurzel Ursache ist, dass die meisten modernen Linux-Distributionen das lästige default „Piep“ deaktivieren.
Mögliche Lösungen verwenden Pygame oder direkt einen der installierten "Player".

Pygame Mit sieht wie folgt aus:

import pygame 

pygame.init() 
pygame.mixer.music.load("my_sound_file.ogg") 
pygame.mixer.music.play() 
pygame.event.wait() 

Aber ich habe nicht die neue externe Abhängigkeit zum Zwecke eines nicht-Laufzeit-Dienstprogramm wollen, so, was ich tun gelandet ist:

import os 
os.system("/usr/bin/canberra-gtk-play --id='system-ready'") 

Es gibt viele andere Audio-Dateien in dem Thema Ubuntu:

ls /usr/share/sounds/ubuntu/stereo 
0

Versuchen Sie, sys.stdout.write('\007') statt print '\a'

+0

Ich bekomme ein rechteckiges Quadrat mit 0007 drin ... Eclipse 3.6.1 und Ubuntu 10.10. –

+0

Hmm, vielleicht zeigt stdout nicht auf eine tty. Probieren Sie 'open ('/ dev/pty0', 'w'). Write ('\ 007')'. Dies ist jedoch nicht robust, da davon ausgegangen wird, dass Sie/dev/pty0 geöffnet haben. Ich weiß nicht, wie ich es besser machen soll ... vielleicht/dev/tty0? – albertov

+0

Beide ergeben IOError: '[Errno 13] Berechtigung verweigert: '/ dev/tty0'' –

Verwandte Themen