Trên Mac OS X, làm cách nào tôi có thể đăng nhập vào Console.app từ thiết bị đầu cuối?


8

Tôi đã thấy việc sử dụng /dev/consoletrong một số tập lệnh cho Mac OSX nhưng tôi không chắc nó được sử dụng như thế nào. Tôi đã kiểm tra Console.app và không thấy kết quả của lệnh kiểm tra của mình:

kiểm tra tiếng vang> / dev / console

được in ra ở đó, vậy nó đi đến đâu, hoặc bạn sẽ sử dụng nó như thế nào?


@Qosmo. Câu hỏi này có giá trị 100% cho Super User và không có nhu cầu hoặc lý do để di chuyển nó.
BinaryMisfit

Có giá trị không ngụ ý nó sẽ được phục vụ tốt hơn ở đó? Tại sao nó được tạo ra? Dù sao, đó chỉ là một gợi ý ...
Brave Newbie

Câu trả lời:


7

Thiết /dev/consolebị không đặc biệt liên quan đến ứng dụng Console .

Trong Mac OS X 10.6, ứng dụng Console có hai loại nguồn dữ liệu mà nó đọc: tệp nhật ký bình thường (ví dụ: tệp trong /var/log/) và tin nhắn được ghi thông qua tiện ích nhật ký hệ thống (mở rộng của Apple).

Nếu bạn có tệp nhật ký mà bạn muốn theo dõi, bạn có thể sử dụng mục menu Tệp > Mở '(… O) để xem tệp trong Bảng điều khiển .
Lưu ý: Cách duy nhất để xóa một tệp khỏi danh sách các tệp Console Console dường như là sử dụng mục menu Tệp > Chuyển đến Thùng rác (); sẵn sàng rút tập tin ra khỏi Thùng rác nếu bạn chỉ muốn dừng xem nó trong Bảng điều khiển .

Bạn có thể sử dụng chương trình dòng lệnh syslog để gửi tin nhắn đến cơ sở nhật ký hệ thống.

syslog -s Your message goes here. \(quote special chars for the shell'!)'

Tuy nhiên, theo cấu hình mặc định, thông báo này sẽ không bao giờ hiển thị trong bất kỳ chế độ xem nào của Bảng điều khiển vì mức độ của nó là quá thấp không quan trọng. Bộ lọc ban đầu này là do syslogd . Nó được cấu hình bởi asl.confsyslog.confcác tập tin. Cấu hình mặc định không lưu trữ hầu hết các tin nhắn nếu Mức của chúng quá thấp (và syslog -smặc định ở mức thấp nhất). Bảng điều khiển chỉ có thể hiển thị thông báo đã được lưu trữ bởi syslogd .

Bạn có thể thay đổi giá trị của trường Cấp bằng cách sử dụng -ltùy chọn:

syslog -s -l notice This message should show up in \"All Messages\" \
  with a Facility of syslog.

Các noticecấp độ là (mặc định) mức thấp nhất mà syslogd sẽ lưu trữ hầu hết các tin nhắn.

Một thông điệp được tạo ra như thế này sẽ hiển thị trong Bảng điều khiển ‘s built-in‘Tất cả Messsages’tìm kiếm cơ sở dữ liệu
(tập tin All Messages.aslquerytrong /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/kỹ thuật hạn chế nó để nhắn tin nơi lĩnh vực sở‘chứa’chuỗi rỗng, nhưng tình trạng này được trivially hài lòng bởi bất kỳ cơ sở giá trị).

Nếu bạn muốn tin nhắn của mình xuất hiện trong Bảng điều khiển tìm kiếm cơ sở dữ liệu của Console Console, thì bạn phải cụ thể hơn một chút. Nó chỉ hiển thị (được lưu trữ) các tin nhắn có trường Cơ sở bằng com.apple.console(xem tệp Console Messages.aslquerytrong /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/). Bạn có thể tạo các tin nhắn như vậy bằng syslog bằng -ktùy chọn để đặt trường Cơ sở.

syslog -s -k Facility com.apple.console \
          -k Level notice \
          -k Message 'This will show up in "Console Messages"'

Khi sử dụng -k, tất cả các tùy chọn và thông báo phải được chỉ định bằng các bộ -k key valueđối số (chúng tôi không thể sử dụng -lđể đặt mức). Điều này có nghĩa là chúng ta phải đặt thông điệp một đối số duy nhất để nó có thể là giá trị của trường Thông báo.


Vậy lệnh "logger" được sử dụng để làm gì? Nó là một phần của syslog?
cwd

@cwd: Nó cũng sử dụng tiện ích syslog. Syslog của Apple có hai giao diện chính: syslog (3)asl (3) . Cái trước là khá chuẩn trên hầu hết các hệ thống Unix-y ngày nay; logger sử dụng nó. Thứ hai là một phần mở rộng dành riêng cho Apple; các syslog lệnh sử dụng nó. Bảng điều khiển nhìn thấy các tin nhắn từ cả hai, nhưng Tin nhắn trên Bảng điều khiển của người dùng Tìm kiếm cần một giá trị Cơ sở do Apple mở rộng (mà trình ghi nhật ký không thể thực hiện).
Chris Johnsen

7

tôi sử dụng:

logger Hello World

luôn luôn làm việc cho tôi chuyển "hello world" sang syslog, sẽ hiển thị trong console.app


0

Tôi không tích cực, nhưng nó có thể là thiết bị được gọi khi> bảng điều khiển được nhập vào trường tên người dùng của cửa sổ đăng nhập. Khi bạn nhập ở trên, nó sẽ bỏ CLI.


0

Bạn có thể ghi vào một tệp bạn chọn mà sau đó bạn có thể xem trong ứng dụng Bảng điều khiển.

Nếu bạn muốn đăng nhập để sử dụng cấp độ người dùng:

echo "test" > /Users/$USER/Library/Logs/your_script.log

hoặc cho một cái gì đó được tải cho tất cả người dùng:

echo "test" > /Library/Logs/your_script.log
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.