Bỏ qua đến nội dung chính
Thứ 2 – Thứ 6: 8:00 – 17:30
Công cụ & Tài liệu

MacViewer: ứng dụng mã nguồn mở không chính thức giúp máy Mac kết nối UltraViewer

MacViewer là ứng dụng macOS mã nguồn mở, không chính thức và không liên quan đến chủ sở hữu UltraViewer, giúp máy Mac kết nối với máy đang chạy UltraViewer. Tính năng, cách cài và lưu ý.

20/10/2026 10 phút đọc AI Agent
MacViewer: ứng dụng mã nguồn mở không chính thức giúp máy Mac kết nối UltraViewer
Nội dung bài viết
  1. Vì sao người dùng Mac cần MacViewer?
  2. MacViewer làm được gì?
  3. Điều khiển máy khác từ máy Mac
  4. Cho người khác truy cập máy Mac của bạn
  5. Những gì chưa hỗ trợ
  6. Cách cài đặt MacViewer
  7. Hướng dẫn sử dụng cơ bản
  8. Điều khiển máy Windows đang chạy UltraViewer
  9. Cho kỹ thuật viên vào máy Mac
  10. Điểm đặc biệt: cho trợ lý AI điều khiển qua MCP
  11. Góc kỹ thuật: bên trong MacViewer có gì?
  12. Đánh giá nhanh
  13. Giấy phép, thương hiệu và quyền riêng tư
  14. Câu hỏi thường gặp

UltraViewer là phần mềm điều khiển máy tính từ xa rất quen thuộc ở Việt Nam, nhưng đến nay chỉ có bản cho Windows. MacViewer là một dự án mã nguồn mở không chính thức, do một cá nhân phát triển, giúp máy Mac kết nối được với máy chạy UltraViewer: bạn vào máy khác bằng ID và mật khẩu, hoặc cho người khác hỗ trợ máy Mac của mình mà không cần cài Windows.

Tóm tắt nhanh

  • MacViewer không phải sản phẩm chính thức của UltraViewer và không liên quan đến chủ sở hữu hay đội ngũ phát triển UltraViewer.
  • Đây là ứng dụng macOS thuần, viết bằng SwiftUI/AppKit, không dùng Wine và không chạy file .exe nào.
  • Kết nối tới máy đang chạy UltraViewer bằng ID và mật khẩu, đồng thời cho phép người khác điều khiển máy Mac khi bạn bấm đồng ý.
  • Có chat, đồng bộ clipboard, gửi nhận file, nghe âm thanh máy kia, gõ tiếng Việt bằng bộ gõ trên Mac.
  • Cài nhanh qua Homebrew hoặc file DMG, chạy trên chip Apple và Intel, yêu cầu macOS 12 trở lên.

Cảnh báo: không liên quan đến UltraViewer

Theo README của dự án, MacViewer là dự án cá nhân, mã nguồn mở của tác giả Dean (DeanOpen), không phải sản phẩm chính thức của UltraViewer và không liên quan gì đến chủ sở hữu hay đội ngũ phát triển UltraViewer. UltraViewer là thương hiệu của chủ sở hữu tương ứng; tên UltraViewer chỉ được nhắc đến để nói rõ khả năng tương thích.

Vì vậy, chủ sở hữu UltraViewer không bảo trợ, không hỗ trợ và không chịu trách nhiệm cho MacViewer. Gặp lỗi với MacViewer, hãy báo trên trang Issues của repo thay vì liên hệ bộ phận hỗ trợ UltraViewer. Newnet cũng không liên quan đến hai dự án này; bài viết chỉ nhằm chia sẻ thông tin. Chỉ kết nối tới những máy mà bạn được phép truy cập.

Giao diện chính của MacViewer trên macOS (ảnh từ repo DeanOpen/MacViewer)
Giao diện tiếng Việt của MacViewer. Ảnh: repo DeanOpen/MacViewer trên GitHub.

Vì sao người dùng Mac cần MacViewer?

Nhiều doanh nghiệp, phòng IT và đơn vị hỗ trợ phần mềm tại Việt Nam dùng UltraViewer làm công cụ hỗ trợ từ xa mặc định. Khổ nỗi trang hỗ trợ chính thức của UltraViewer cho biết phần mềm hiện chỉ chạy trên Windows. Người dùng MacBook muốn vào máy khách hàng, hoặc cần kỹ thuật viên vào máy mình, thường phải chọn một trong ba cách:

  • Cài máy ảo Windows trên Mac, tốn dung lượng, RAM và cả tiền bản quyền.
  • Chạy UltraViewer qua Wine, dễ lỗi ở các tính năng như bàn phím, âm thanh, truyền file.
  • Bắt đối phương chuyển sang TeamViewer, AnyDesk hay Chrome Remote Desktop, điều không phải lúc nào cũng làm được.

MacViewer đi theo hướng khác: tác giả Dean (tài khoản GitHub DeanOpen) tự viết phần giao thức kết nối bằng Swift để ứng dụng Mac tương thích với UltraViewer trên Windows. Bên Windows vẫn dùng UltraViewer như bình thường và không cần cài thêm gì. Đây là sản phẩm độc lập của tác giả, không phải phiên bản macOS do UltraViewer phát hành.

MacViewer làm được gì?

Điều khiển máy khác từ máy Mac

  • Nhập ID và mật khẩu đang hiện trên UltraViewer của máy kia là kết nối được.
  • Kết nối được mã hoá, đi qua máy chủ trung gian có TLS. Nếu hai máy cùng mạng LAN, ứng dụng tự kết nối trực tiếp cho nhanh.
  • Hiển thị mượt, hỗ trợ cả màn hình 4K.
  • Điều khiển chuột, bàn phím khi bật Điều khiển. Phím được chuyển sẵn: ⌘ thành Win, ⌥ thành Alt, ⌃ thành Ctrl. Cuộn bằng trackpad hay chuột đều được.
  • Gõ tiếng Việt, tiếng Trung bằng bộ gõ của macOS (Telex/VNI, EVKey, Pinyin…). Với tiếng Việt cũng có thể tắt bộ gõ trên Mac và dùng Unikey ở máy kia.
  • Thanh công cụ có chọn màn hình, thu phóng, chất lượng hình, ẩn hình nền, hiện con trỏ và nghe âm thanh từ máy kia.
  • Chụp màn hình (chọn vùng, ghi chú lên ảnh) và quay video.
  • Chat, đồng bộ clipboard hai chiều, gửi và nhận file ngay trong khung chat bằng nút 📎 hoặc kéo thả.
  • Lưu mật khẩu vào Keychain của macOS và đặt tên cho các máy trong danh sách gần đây.

Cho người khác truy cập máy Mac của bạn

  • Người kia chỉ xem hoặc điều khiển được sau khi bạn bấm đồng ý. Quyền xem và quyền điều khiển được duyệt riêng.
  • Chọn chia sẻ một màn hình hoặc Tất cả màn hình; người dùng Windows chọn xem từng màn hình qua menu của UltraViewer.
  • Ngắt kết nối hoặc tạm khoá truy cập bất cứ lúc nào.
  • Tạo mật khẩu mới mà ID vẫn giữ nguyên, hoặc đặt mật khẩu chủ cố định để cho phép kết nối không cần bấm đồng ý.
  • Gửi, nhận file trong chat với nút lưu, huỷ và thanh tiến trình.

Thông tin

Để tiết kiệm băng thông, ảnh màn hình Mac được giới hạn khoảng 2 triệu điểm ảnh khi chia sẻ một màn hình (tương đương 1920 × 1080) và khoảng 8 triệu điểm ảnh khi chia sẻ nhiều màn hình (tương đương 3840 × 2160). Màn hình Retina được gửi ở độ phân giải logic thay vì ảnh 2x.

Những gì chưa hỗ trợ

Theo README, MacViewer chưa có nói chuyện qua micro, chưa phát âm thanh khi chia sẻ máy Mac và chưa hỗ trợ truy cập không cần người ngồi máy. Tác giả cũng ghi rõ chưa thử với các bản UltraViewer cũ, bàn phím không phải kiểu US, bộ gõ ngoài tiếng Việt và tiếng Trung, và chế độ màu 8-bit.

Cách cài đặt MacViewer

Ứng dụng chạy trên cả chip Apple (M1, M2…) và Intel, yêu cầu macOS 12 Monterey trở lên. Cách nhanh nhất là dùng Homebrew:

brew install --cask deanopen/tap/macviewer

Nếu không dùng Homebrew, bạn cài thủ công:

  1. Tải file DMG
    Vào trang Releases của MacViewer và tải file MacViewer-<phiên bản>.dmg.
  2. Kéo vào Applications
    Mở file DMG, kéo MacViewer thả vào thư mục Applications.
  3. Mở ứng dụng
    Mở MacViewer từ Launchpad hoặc thư mục Applications. Khi có bản mới, ứng dụng hiện nút Cập nhật lên … trên thanh tiêu đề và tự tải, kiểm tra chữ ký, cài đặt rồi mở lại.

Nếu macOS báo không mở được ứng dụng, nhấp chuột phải vào MacViewer, chọn Open rồi bấm Open lần nữa, hoặc chạy lệnh:

xattr -dr com.apple.quarantine /Applications/MacViewer.app

Cảnh báo

Lệnh xattr bỏ qua lớp kiểm tra Gatekeeper của macOS. Chỉ chạy lệnh này với file tải từ đúng trang Releases chính thức của repo DeanOpen/MacViewer hoặc từ Homebrew, không dùng với bản tải từ trang web lạ tự nhận là “UltraViewer cho Mac”.

Hướng dẫn sử dụng cơ bản

Điều khiển máy Windows đang chạy UltraViewer

  1. Lấy ID và mật khẩu
    Nhờ người bên kia đọc ID và mật khẩu đang hiện trên UltraViewer.
  2. Kết nối
    Nhập hai thông tin này vào MacViewer rồi bấm Kết nối đến máy khác.
  3. Bật điều khiển
    Muốn dùng chuột và bàn phím, bật Điều khiển trên thanh công cụ. Khi chưa bật, bạn chỉ xem màn hình.

Cho kỹ thuật viên vào máy Mac

Bấm Bắt đầu chia sẻ máy Mac và làm theo hướng dẫn bật hai quyền hệ thống:

Quyền macOSĐể làm gì
Ghi màn hình (Screen Recording)Người kia nhìn thấy màn hình của bạn
Trợ năng (Accessibility)Người kia điều khiển được chuột và bàn phím

Sau đó gửi ID và mật khẩu của máy Mac cho người kia, rồi bấm đồng ý khi có yêu cầu kết nối. Nếu macOS yêu cầu, hãy tắt và mở lại MacViewer sau khi bật quyền Ghi màn hình.

Mẹo

File nhận qua chat chỉ được lưu khi bạn bấm Lưu và không ghi đè file có sẵn. Tên file có dấu gửi từ Mac sang UltraViewer sẽ được đổi sang chữ không dấu, vì UltraViewer gốc dùng bảng mã ANSI của Windows cho tên file.

Điểm đặc biệt: cho trợ lý AI điều khiển qua MCP

MacViewer có sẵn MCP server (Model Context Protocol). Nhờ đó các trợ lý AI như Claude Code, Claude Desktop, Cursor, VS Code (GitHub Copilot), Windsurf, Codex, Gemini CLI, Zed, Cline… có thể xem màn hình máy kia và dùng chuột, bàn phím trong phiên kết nối bạn đã mở. Ví dụ bạn nhờ trợ lý: “Chụp màn hình máy kia và mở Notepad.”

  1. Bật tính năng
    Mở MacViewer › Cài đặt › Trợ lý AI, bật Cho phép trợ lý AI dùng MacViewer.
  2. Thêm vào ứng dụng AI
    Bấm Thêm cạnh ứng dụng của bạn hoặc Thêm vào mọi ứng dụng tìm thấy, rồi khởi động lại ứng dụng đó.
  3. Kết nối và giao việc
    Kết nối tới máy khác, bật Điều khiển, rồi nhờ trợ lý làm việc.

Với Claude Code, có thể thêm thủ công bằng một lệnh:

claude mcp add --scope user macviewer -- /Applications/MacViewer.app/Contents/MacOS/macviewer-mcp

Về an toàn, tác giả thiết kế khá chặt:

  • Tính năng tắt sẵn. Công cụ chỉ trao đổi với ứng dụng qua socket cục bộ mà chỉ tài khoản của bạn mở được.
  • Trợ lý chỉ dùng chuột, bàn phím khi bạn bật Điều khiển; muốn trợ lý tự kết nối hay ngắt kết nối phải bật quyền riêng.
  • MacViewer hỏi bạn trước khi một trợ lý mới thao tác. Khi trợ lý đang điều khiển, cửa sổ hiện AI đang điều khiển · Dừng; bấm Dừng là chặn mọi thao tác của trợ lý cho tới khi phiên kết thúc.
  • Trước khi sửa tệp cấu hình của ứng dụng AI, MacViewer lưu bản sao .macviewer-backup.

Góc kỹ thuật: bên trong MacViewer có gì?

Với lập trình viên, MacViewer là một ví dụ thú vị về việc viết client tương thích cho một giao thức đóng. Mã nguồn chia làm hai phần chính:

Sources/MacViewer
Phần ứng dụng: giao diện SwiftUI/AppKit, chụp màn hình, điều khiển, chia sẻ máy Mac.
Sources/UltraViewerProtocol
Phần giao thức: mã hoá, kết nối qua máy chủ trung gian hoặc trực tiếp trong LAN, giải mã và mã hoá hình ảnh, âm thanh, chat, clipboard, truyền file.
ThirdParty/zstd
Thư viện nén Zstandard 1.5.7, dùng để nén và giải nén khung hình.
ThirdParty/g722
Bộ giải mã âm thanh G.722 lấy từ WebRTC, dùng cho tính năng nghe âm thanh máy kia.
LinuxViewer
Bản thử nghiệm cho Linux viết bằng Rust: kết nối, điều khiển máy chạy UltraViewer và chia sẻ màn hình Linux.
  • Swift 6
  • SwiftUI
  • AppKit
  • Zstandard
  • G.722
  • TLS
  • Rust
  • MCP
  • Homebrew

Muốn tự build, bạn cần macOS 14 trở lên và Xcode 16 / Swift 6 trở lên (ứng dụng sau khi build vẫn chạy trên macOS 12):

git clone https://github.com/DeanOpen/MacViewer.git
cd MacViewer

swift test                       # chạy test
scripts/package_app.sh release   # build ra dist/MacViewer.app
open dist/MacViewer.app

Dự án phát triển rất nhanh: repo tạo ngày 17/10/2026 và tới ngày 20/10/2026 đã phát hành 24 bản, từ 0.3.0 đến 0.3.23, với 6 người đóng góp mã nguồn (số liệu từ GitHub tại thời điểm viết bài). Nếu muốn đóng góp, tác giả đề nghị chạy swift test trước khi gửi pull request, thêm chữ giao diện vào cả en.lproj và vi.lproj, và tuyệt đối không commit mật khẩu, ID hay file cài đặt của UltraViewer.

Đánh giá nhanh

Ưu điểm

  • Ứng dụng Mac thuần, nhẹ, không cần Wine hay máy ảo Windows.
  • Bên Windows giữ nguyên UltraViewer, không phải cài thêm.
  • Giao diện tiếng Việt, gõ tiếng Việt tốt khi điều khiển.
  • Mã nguồn mở giấy phép MIT, không thu thập dữ liệu người dùng.
  • Có MCP để kết hợp trợ lý AI, kiểm soát quyền chặt chẽ.

Nhược điểm

  • Không chính thức, không được chủ sở hữu UltraViewer hỗ trợ; có thể ngừng hoạt động nếu UltraViewer thay đổi giao thức.
  • Chưa có micro, chưa có truy cập không cần người ngồi máy.
  • Bản DMG có thể chưa được Apple notarize, phải mở bằng chuột phải lần đầu.
  • Dự án còn rất mới, cập nhật liên tục nên có thể còn lỗi.

Giấy phép, thương hiệu và quyền riêng tư

Phần “Giấy phép” trong README gốc của dự án ghi rõ:

MacViewer phát hành theo giấy phép MIT. Các thư viện bên thứ ba vẫn giữ giấy phép riêng của chúng, xem THIRD_PARTY_NOTICES.md. File 8bit.dat là dữ liệu lấy từ UltraViewer và không thuộc giấy phép MIT. UltraViewer là thương hiệu của chủ sở hữu tương ứng, chỉ được nhắc đến ở đây để nói rõ khả năng tương thích.

README dự án MacViewer — mục Giấy phép

Lưu ý về giấy phép

Giấy phép MIT chỉ áp dụng cho mã nguồn do tác giả MacViewer viết. Nó không cấp cho bạn bất kỳ quyền nào đối với thương hiệu UltraViewer hay file 8bit.dat lấy từ UltraViewer. Nếu bạn định fork, đóng gói lại hay phân phối MacViewer, hãy đọc kỹ THIRD_PARTY_NOTICES.md và cân nhắc phần dữ liệu này; không dùng tên hay logo UltraViewer theo cách khiến người khác hiểu nhầm là sản phẩm chính thức.

Về quyền riêng tư, theo tác giả MacViewer không thu thập bất kỳ dữ liệu nào. Khi kiểm tra bản cập nhật, ứng dụng chỉ đọc thông tin phiên bản công khai trên GitHub (có thể tắt trong Cài đặt). Mật khẩu chỉ được lưu khi bạn chọn ghi nhớ, và chỉ nằm trong Keychain của macOS; lịch sử kết nối chỉ lưu ID.

Câu hỏi thường gặp

MacViewer có phải UltraViewer bản cho Mac không?

Không. MacViewer là dự án mã nguồn mở của một cá nhân, không phải sản phẩm chính thức và không liên quan đến chủ sở hữu hay đội ngũ phát triển UltraViewer. Ứng dụng chỉ tương thích để kết nối với máy chạy UltraViewer.

MacViewer có miễn phí không?

Có. Mã nguồn MacViewer phát hành theo giấy phép MIT, tải miễn phí trên GitHub hoặc qua Homebrew. Riêng file dữ liệu 8bit.dat lấy từ UltraViewer không thuộc giấy phép MIT.

Máy Windows có cần cài thêm phần mềm gì không?

Không. Máy Windows chỉ cần chạy UltraViewer như bình thường và cung cấp ID, mật khẩu cho bạn.

MacViewer có chạy trên MacBook chip M1, M2 không?

Có. Ứng dụng chạy trên cả chip Apple và Intel, yêu cầu macOS 12 Monterey trở lên.

Có bản cho Linux không?

Có bản thử nghiệm LinuxViewer viết bằng Rust nằm trong cùng repo, hỗ trợ kết nối, điều khiển máy chạy UltraViewer và chia sẻ màn hình Linux.

Dùng MacViewer có an toàn không?

Mã nguồn công khai nên ai cũng kiểm tra được. Tuy vậy, hãy chỉ tải từ trang Releases chính thức hoặc Homebrew, chỉ chia sẻ ID và mật khẩu với người bạn tin tưởng, và đổi mật khẩu sau mỗi phiên hỗ trợ.

Tải MacViewer trên GitHub

Nguồn: repo DeanOpen/MacViewer và README của tác giả Dean; trang hỗ trợ của UltraViewer. UltraViewer là thương hiệu của chủ sở hữu tương ứng, được nhắc đến trong bài chỉ để mô tả khả năng tương thích. Thông tin cập nhật ngày 20/10/2026.

Yêu cầu tư vấn

Để lại thông tin, Newnet sẽ liên hệ lại với bạn trong thời gian sớm nhất.