[apple] 터미널에 영화 스타일의 사운드 효과 추가

터미널에서 영화 스타일의 음향 효과를 원합니다. 모든 키 스트로크와 라인이 시원하고 작은 경고음을 내 보냅니다. (이와 같은 일) KeyClick을 사용 했지만 키보드 입력에만 해당됩니다. 또한 화면 등에서 문자를 읽을 때 효과를 원합니다.

나는 이것이 지옥과 같은 슈퍼 플로우 스라는 것을 알고 있습니다. 그리고 아마 5 분 안에 화가 날 것입니다. 그러나 영광스러운 5 분이 될 것입니다.



답변

재미있는 질문 🙂

나는 당신이 모든 것에 대해 음향 효과를 얻는 방법을 모르겠지만 몇 가지에 대한 음향 효과를 얻기 위해 이와 같은 것을 할 수 있습니다.

1) 터미널 창을 열고 다음을 입력하여 .profile (또는 .bashrc 또는 사용자 정의를 유지하려는 곳)을 엽니 다.

open .profile

2) 파일 맨 아래에 다음 몇 줄을 추가하십시오.

function top() { afplay /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/accessibility/Sticky\ Keys\ ON.aif; command top;}
function ls() { command ls; afplay /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/accessibility/Slow\ Keys\,\ Key\ Registered.aif; }

3) 디렉토리 목록에 ‘ls’를 입력하거나 실행중인 프로세스 목록을 보려면 ‘top’을 입력하면 이러한 명령의 결과를들을 수 있습니다.

이 두 줄을 추가하여 기존 bash 명령과 이름이 같은 두 개의 새로운 함수를 선언합니다. 우리는 약간의 오디오를 재생할 수 있도록 명령 자체를 재정의 한 다음 명령 자체를 실행합니다 (또는 ‘맨 위’예와 같이 그 반대).

현재 사용중인 오디오 파일은 내게 필요한 옵션 기능에 사용되는 기본 오디오 파일 (적어도 Lion에서는)입니다. 잘라서 붙여 넣기를하고 트릭을 실제로 볼 수 있도록 이들을 선택했지만 대신 오디오 파일을 사용할 수 있습니다.

다음은 OS에서 빌린이 대신 사용할 수있는 많은 공상 과학 사운드 효과가있는 사이트입니다.

http://fxhome.com/sounds/


답변

키 스트로크 비트는 확실하지 않지만 … 영화에서와 같이 터미널 명령의 출력을 인쇄하도록 할 수 있습니다. 즉, 각 줄은 문자별로 인쇄되고 각 줄마다 약간의 경고음이 울립니다. 처음에는 시원해 보이고 정말 짜증납니다. 이 스위치를 켜고 끌 수있는 터미널이 있으면 재미있을 것입니다. 분명히 꽤 제한적이지만 개발하기에 재미있는 프로젝트가 될 수 있습니다.

from subprocess import PIPE, Popen
import os

from time import *
import sys
from playsound import playsound

def print_immediately(string):
    sys.stdout.write(string)
    sys.stdout.flush()

def backspace():
    print('\r', end='')

def printline(x, silent=False):
    n = len(x)
    for i in range(n):
        print_immediately(x[:(i+1)])
        if not silent:
            beep()
        sleep(0.01)
        backspace()
    sys.stdout.write('\n')
    sys.stdout.flush()

def printlines(x, silent=False):
    result = str(x.decode("utf-8"))
    lines = str.split(result, "\n")
    for line in lines:
        printline(line, silent=False)

def beep():
    playsound('/Users/Blah/Projects/console/beep.wav', block=False)

def cmdline(command):
    process = Popen(
        args=command,
        stdout=PIPE,
        shell=True
    )
    return process.communicate()[0]

while True:
    command = input("user: ")
    if(command == 'exit'):
        break
    else:
        try:
            if command.find("cd ") != -1:
                dir = command.replace("cd ", "")
                os.chdir(os.path.expanduser(dir))
                print(dir)
            else:
                printlines(cmdline(command))
        except:
           print("Error!")


답변