OSX: sử dụng phiên bản CLI của VLC


22

Làm cách nào tôi có thể sử dụng phiên bản CLI của VLC trên OSX?

Sau khi cài đặt VLC trên OSX, nó hoạt động tốt thông qua quy trình GUI thông thường, đèn chiếu, v.v. Ngoài ra, tôi biết có thể làm được

open bla.avi -a vlc

Tuy nhiên, khi tôi phát vlclệnh trong shell, nó không hoạt động. which vlctrong vỏ cũng không trả lại bất cứ điều gì.

Phiên bản CLI của VLC rất tiện dụng cho việc chuyển mã, phát trực tuyến, v.v ... Vì vậy, thật tuyệt khi nó hoạt động.


1
Câu hỏi của bạn ở đây là gì? Bạn chỉ đang tìm kiếm lệnh? Bạn đã thử những gì?
Baarn

Trong linux khi tôi phát hành vlctrong terminal, nó bảo tôi sử dụng cvlcTôi đoán nó sẽ giống với OSX.
Baarn

Vì vậy, tôi giả sử rằng bạn đã tải xuống VLC ... nó sẽ gửi các công cụ dòng lệnh cần thiết với chương trình ... nó có thể thực hiện chuyển mã, phát trực tuyến, "vv", nhưng bạn cần cung cấp một trường hợp sử dụng cụ thể cho chúng tôi để cung cấp bất kỳ thông tin chi tiết.
allquixotic

xin vui lòng không viết nó không hoạt động bởi vì tôi khá chắc chắn rằng nó hoạt động, chỉ là không theo cách bạn mong đợi nó. Vì vậy, xin vui lòng cho biết những gì bạn muốn và những gì bạn nhận được thay vào đó.
Baarn

3
@allquixotic Thật không may, trên OS X, VLC không cài đặt phiên bản dòng lệnh.
slhck

Câu trả lời:


23

Lệnh này open bla.avi -a vlchoạt động vì OS X đang sử dụng cơ sở dữ liệu Launch Services của nó để mở VLC của ứng dụng. Điều này không liên quan gì đến nhị phân dòng lệnh cùng tên, không được cài đặt theo mặc định.

Nhị phân bạn tìm kiếm nằm trong VLC.appgói, vì vậy bạn có thể nhập mã đó vào một thiết bị đầu cuối:

/Applications/VLC.app/Contents/MacOS/VLC -I rc

Điều này sẽ mở dòng lệnh tương tác VLC. Hoặc, thực hiện các thao tác sau để đăng ký dòng trên dưới dạng bí danh vlc:

echo "alias vlc='/Applications/VLC.app/Contents/MacOS/VLC -I rc'" >> ~/.bash_profile

Khi bạn đã thêm cái này, bạn cần khởi động lại Terminal. Bây giờ gõ vlcvà bạn sẽ nhận được dòng lệnh.

Nếu bạn không thích giao diện tương tác hoặc muốn sử dụng VLCvới các tùy chọn khác, bạn cần chỉnh sửa cho ~/.bash_profilephù hợp, ví dụ như thông qua open -e ~/.bash_profile.


1
Xóa -I rckhỏi lệnh nếu bạn thực sự muốn GUI mở thông qua lệnh vlc dòng lệnh.
MikeiLL

4
@MikeiLL Bạn cũng có thể gọi open -a VLC. Điều này hoạt động với bất kỳ ứng dụng nào trong OS X.
slhck

Tôi thích gọi bí danh này cvlcđể làm rõ nó là dòng lệnh VLC (và cũng phù hợp với phiên bản linux).
lenooh

3

Các ứng dụng OS X thường không cài đặt bất kỳ chương trình thực thi nào bên ngoài gói ứng dụng của chúng. Vì bạn thường không tương tác với chúng từ dòng lệnh, chúng sẽ không được đưa vào bất kỳ thư mục nào trên máy của bạn PATH.


Nếu bạn đã cài đặt VLC /Applications, thực tế là /Applications/VLC.app/Contents/MacOS/VLC.

/Applications/VLC.app/Contents/MacOS/VLC -hsẽ hiển thị một số trợ giúp và /Applications/VLC.app/Contents/MacOS/VLC --intf ncursessẽ khởi chạy UI ncurses.


các --intf ncurseslá cờ là mát mẻ
PT

2

Để truy cập vlctừ dòng lệnh, bạn có thể tạo một liên kết tượng trưng cục bộ như dưới đây:

mkdir ~/bin
ln -vs /Applications/VLC.app/Contents/MacOS/VLC ~/bin/vlc

Để có sẵn lệnh này cho tất cả người dùng, bạn có thể muốn liên kết nó vào /usr/local/binthay thế.

Đảm bảo rằng ~/bin(hoặc /usr/local/bin) của bạn nằm trong PATHbiến môi trường của bạn , nói cách khác là ~/.profiletệp của bạn có chứa một cái gì đó như:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Mã trên là hành vi mặc định trên Linux.


1

Giao diện giả cho phép hoạt động hàng loạt trên dòng lệnh. Tôi sử dụng tập lệnh shell như thế này được lưu trong / usr / local / bin / vlc:

    export VLC_PLUGIN_PATH=/Applications/VLC.app/Contents/MacOS/plugins
    /Applications/VLC.app/Contents/MacOS/VLC -I dummy "${@}"

1

FYI và / hoặc một mẹo.

Dưới đây là 2 cách để tìm ra đường dẫn thực tế của ứng dụng khởi chạy bằng openlệnh.

Hữu ích, trong trường hợp đó VLC được đặt trong một thư mục khác chứ không phải /Applications, chẳng hạn như /Users/<user>/Applications( ~/Applications) hoặc các thư mục khác.

Qua AppleScript

Đơn giản nhưng nó khởi chạy ứng dụng.

$ osascript -e 'POSIX path of (path to application "VLC")'
/Applications/VLC.app/
$ 
$ osascript -e 'POSIX path of (path to application "GIMP")'
/Volumes/External_HDD/Applications/GIMP/GIMP_v2.8/GIMP.app/

Thông qua lệnh lsregister

Ít phức tạp nhưng sẽ không khởi chạy ứng dụng.

$ # Path of `lsregister` command
$ #   /System/Library \
$ #     /Frameworks/CoreServices.framework/Versions/A \
$ #     /Frameworks/LaunchServices.framework/Versions/A/Support/
$ 
$ cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
$ 
$ ls
lsregister
$ 
$ # Sample usage
$ ./lsregister -dump | grep -o "/.*\Google Chrome.app" | head -1
/Applications/Google Chrome.app
$ 
$ # Find VLC
$ NAME_APP=VLC
$ ./lsregister -dump | grep -o "/.*${NAME_APP}.app" | grep -v -E "Caches|TimeMachine|Temporary|/Volumes/${NAME_APP}" | uniq
/Applications/VLC.app

Đã thử nghiệm trên: macOS HighSierra (OSX 10.13.6)

$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc.

0

Trước tiên, bạn cần xác định vị trí thực thi nhị phân thực tế trong gói ứng dụng VLC Mac. Mở Finder, vào Applicationsthư mục, nhấp chuột phải vào ứng dụng VLC và sau đó nhấp Show Package Contents. Bây giờ bạn có thể duyệt những gì thực sự bên trong.

Trong trường hợp này, nhị phân VLC nằm trong Contents/MacOSthư mục dưới dạng tệp VLC. Mở Terminalvà nhập đường dẫn tệp chính xác tới đây và bạn sẽ tìm thấy tệp thực thi nhị phân VLC : /Applications/VLC.app/Contents/MacOS/VLC. Nếu bạn không muốn sử dụng toàn bộ đường dẫn này mỗi lần, bạn có thể tạo một liên kết tượng trưng và chỉnh sửa Bash PATH của bạn để chỉ ra điều này.

Bây giờ bạn có thể gọi nhị phân ngay từ CLI, có thể bạn sẽ muốn chọn một giao diện để bạn không có GUI thông thường bật lên. Một danh sách đầy đủ các giao diện có sẵn có tại trang wiki Giao diện VLC .

Khi bạn tìm thấy bộ lệnh hoạt động cho các cuộc gọi VLC CLI tạo ra đầu ra dự định của bạn, có thể bạn sẽ muốn sử dụng dummygiao diện khi gọi VLC trong xử lý theo chương trình / lô của bạn. Các dummygiao diện cơ bản là không có gì nhưng sản lượng trong Terminal giống như hầu hết các chương trình CLI không tương tác.

Kết quả cuối cùng: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

Tôi khuyên bạn nên sử dụng -vvvtham số để bạn có được đầu ra nhật ký mở rộng để trợ giúp khi bạn kiểm tra các lệnh khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.