Thông tin của caffrey

2710
Điểm

Câu hỏi
0

Đáp án
107

  • Đã hỏi vào September 11, 2016

    Tài liệu của Apple có nói về vấn đề tắt SIP, về System Integrity Protection trên Mac.

    Một bài viết trên cũng có việc kê trình tự các bước như sau:

    1. Khởi động lại Mac, vào chế độ Recovery bằng cách khởi động lại máy và giữ tổ hợp Command+cho đến khi thấy logo Apple xuất hiện trên màn hình.
    2. Nhấp chuột vào Utilities > Terminal.
    3. Trong cửa sổ Terminal, nhập csrutil disable rồi nhấn Enter.
    4. Khởi động lại Mac.

    Bạn có thể xác minh liệu một tập tin hoặc thư mục có bị giới hạn hay không bằng cách chạy lệnh ls  dùng chữ O viết hoa (chứ không phải số 0) để điều chỉnh cảnh báo liệt kê dài dòng:

    ls -lO /System /usr 
    

     

    Tìm các dòng bị giới hạn để xem SIP được dùng ở đâu.

    Với thiết lập mặc định (=bật SIP), các thư mục sau bị giới hạn (xem ở  Apple Support)

    /System
    /usr
    /bin
    /sbin
    Apps that are pre-installed with OS X

    … và các thư mục sau không bị giới hạn:

    /Applications
    /Library
    /usr/local
    

     

    Đáp án này được chấp nhận bởi yakuza. vào September 11, 2016 Được 15 điểm.

    • 2829 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào September 11, 2016

    Cách nhanh gọn là sử dụng homebrew để cài đặt python vào /usr/local/bin để pip  của bạn có thể hoạt động bất chấp khuôn khổ python người dùng có thể chỉnh sửa được.

    brew install python
    pip --version

    Tắt SIP (System Integrity Protection)  cũng là một giải pháp, nhưng mình khuyên bạn không nên dùng cái đó trừ khi là dùng cho các máy chủ được cài tường lửa và được quản lý chuyên nghiệp, nơi bạn có nhân lực để quản lý việc phát hiện sự xâm nhập hoặc nếu bạn là một nhà phát triển hay quản trị viên hệ thống và cần kiểm thử cái gì đó mà cần hoặc không cần SIP.

    ls -lO /System/Library/Frameworks/Python.framework/Versions/2.7/
    csrutil status

    Bạn sẽ thấy cảnh báo giới hạn được thiết lập, cái không thể gỡ bỏ ngay cả khi root trong khi có liên quan đến SIP.

    Việc sử dụng homebrew giúp ta có thể quản lý pip và python riêng biệt hơn các phiên bản được hệ thống cung cấp với rất ít sự bảo trì, rất ít rủi ro và đơn giản để bảo trì.

    Đáp án này được chấp nhận bởi funky. vào September 11, 2016 Được 15 điểm.

    • 2476 xem
    • 3 đáp án
    • 0 điểm
  • Đã hỏi vào September 10, 2016

    Các ký hiệu trong Terminal

    Các Terminal mark mới (bắt đầu có từ OS X 10.11 – El Capitan), tương tự như Bookmark, cái cũng có trong Terminal, cho phép người dùng đánh dấu các vị trí cửa sổ để sau đó họ có thể quay lại nếu muốn,

    Mark (hoặc Bookmark) không liên quan đến lịch sử lệnh của người dùng, mà liên quan đến bộ đệm cuôn xuống được sử dụng trong cửa sổ/tab của Terminal.

    Đánh dấu một dòng

    Cài đặt mặc định thiết lập rằng, mỗi lần bạn nhấn Enter trong cửa sổ Terminal, dòng đấy sẽ được đánh dấu, việc này có thể được hiển thị bằng cách sử dụng dấu mở ngoặc ở đầu dòng và dấu đóng ngoặc ở cuối. Cài đặt mặc định này có thể tắt được, bằng cách vào mục Edit > Marks > Automatically Mark Prompt Lines.  Khi tính năng này đã bị vô hiệu hóa, bạn vẫn có thể tự tay thực hiện và đánh dấu một lệnh bằng cách sử dụng Cmd+Enter (hoặc bằng cách vào mục Edit > Marks > Mark as Prompt and Send Return).

    Nếu bạn bật chức năng đánh dấu tự động nhưng lại muốn chạy một lệnh mà không đánh dấu nó như một sự nhắc nhở, bạn có thể làm vậy bằng cách dùng Cmd+Shift+Enter (hoặc bằng cách vào  Edit > Marks > Send Return Without Marking).

    Vô hiệu hóa đánh dấu

    Việc tự động đánh dấu các dòng lệnh có thể bị vô hiệu hóa bằng cách vào Edit > Marks > Automatically Mark Prompt Lines.

    Từ dòng lệnh, bạn cũng có thể vô hiệu hóa đánh dấu bằng cách dùng

    defaults write com.apple.Terminal AutoMarkPromptLines -int 0

     

    Ẩn đánh dấu:

    Nếu bạn muốn dùng chức năng đánh dấu này nhưng lại không muốn thấy các dấu ngoặc ở đầu và cuối dòng lệnh, bạn có thể ẩn chúng đi bằng cách vào mục View > Hide Marks. Tính năng trên sẽ vẫn được giữ nguyên nhưng không còn hiển thị ngoặc nữa.

    Di chuyển qua lại giữa các chỗ được đánh dấu?

    Khi một dòng lệnh được đánh dấu, bạn có thể nhanh chóng chuyển đến dòng được đánh dấu trước đó, bằng cách bấm Cmd+Up hoặc đến dòng được đánh dấu sau đó, nếu bấm Cmd+Down . Các lựa chọn tương tự như với Bookmark, và với việc chọn chuyển đến dòng được đánh dấu trước/sau đó:

    Edit Menu

    Tự đánh dấu thủ công một dòng lệnh

    Ngoài việc tự động đánh dấu, bạn có thể tự tay đánh dấu bằng cách chọn một dòng trong terminal output sử dụng chuột, sau đó chọn mục Edit > Marks > Mark as Prompt (hoặc bấm Cmd+U)

    Các trường hợp sử dụng 

    Tính năng đánh dấu này sẽ rất hữu ích nếu một vài lệnh được thực thi của bạn xuất ra khá nhiều kết quả, và bạn muốn nhanh chóng cuộn xuống vị trí nơi bạn nhập lệnh. Việc nhấn Cmd+Up sẽ đưa bạn đến đó. Lặp đi lặp lại việc nhấn tổ hợp phím này thì bạn sẽ di chuyển được xa hơn, trong khi đó, nhấn Cmd+Down sẽ đưa bạn trở lại. Vị trí cần đến sẽ được nêu bật lên một cách tiện lợi khi bạn di chuyển giữa các dòng lệnh.

    Marks Usage

    Chọn nội dung

    Cũng chức năng đánh dấu này có thể được dùng cho việc chọn kết quả đầu ra của Terminal. Nhấn Cmd+Shift+Up  để chọn nội dung cho đến chỗ đánh dấu trước đó, còn Cmd+Shift+Down  sẽ chọn nội dung từ đó đến chỗ đánh dấu kế tiếp. Cái này sẽ hữu dụng khi bạn muốn sao chép log output hay các nội dung khác từ Terminal.

    Tính năng này cũng có thể dùng nếu vào Edit > Navigate đồng thời nhấn phím Shift

    Navigate Menu

    Tổng kết

    Sau vài ngày dùng tính năng này, tớ thấy nó cực kỳ hữu dụng. Việc cuộn lên qua hàng trăm dòng của kết quả để tìm chỗ bắt đầu của kết quả câu lệnh đã trở nên dễ dàng hơn rất nhiều.

    Tớ cũng thắc mắc không biết vì sao tính năng mới này không được đề cập đến nhiều hơn nhỉ – Tớ còn chưa thấy về nó trên bất kỳ bài đánh giá tổng quan El Capitan nào cả. Terminal help hiện tại cũng chưa có bất kỳ thông tin chi tiết nào về tính năng này cả

    Đáp án này được chấp nhận bởi pie. vào September 11, 2016 Được 15 điểm.

    • 1521 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào September 7, 2016

    Đầu tiên,mình muốn nói cái tên “rootless” là một sự nhầm lẫn to tổ chảng, bởi vì vẫn có tài khoản root, và bạn vẫn có thể truy cập vào nó (tên chính thức phải là “System Integrity Protection” – bảo vệ tình trạng toàn vẹn của hệ thống thì chính xác hơn). Chức năng thực sự của nó là giới hạn quyền năng của tài khoản root, để kể cả bạn có root được thì bạn cũng không có toàn quyền điều khiển hệ thống. Về cơ bản, ý tưởng rằng các phần mềm độc hại malware có thể có quyền truy cập root một cách dễ dàng (ví dụ, bằng cách hiển thị một hộp thoại xác nhận đến người dùng, cái sẽ khiến người dùng theo phản xạ mà điền luôn mật khẩu quản trị). SIP thêm vào một lớp bảo vệ khác, khiến cho malware không thể thâm nhập vào dù có quyền root đi chăng nữa. Tất nhiên, điểm hạn chế của cái này đó là nó cũng được áp dụng cho những hoạt động bạn thực hiện có chủ đích. Nhưng những hạn chế nó đặt ra trên root không tệ đến vậy, chúng không ngăn cản phần lớn các tùy chỉnh thông thường của hệ thống:

     

    Đây là những hạn chế, kể cả là từ root:

     

      • Bạn không thể tùy chỉnh bất cứ thứ gì ở /System, /bin, /sbin, hay /usr (ngoại trừ   ); hay bất cứ ứng dụng và trình tiện ích nào đã được thiết lập sẵn. Chỉ Installer và bản cập nhật phần mềm mới có thể chỉnh những vùng này, và thậm chí chúng chỉ làm tế khi cài đặt các gói đã được Apple xác thực. Nhưng bởi vì các tùy chỉnh phong cách OS X thông thường ở /Library (hoặc ~/Library, hay /Applications) , và tùy chỉnh phong cách unix (ví dụ như Homebrew) ở  /usr/local (hoặc thỉnh thoảng có thể ở  /etc hay /opt), cho nên cái này cũng không phải vấn đề gì to tát. Nó cũng ngăn chặn các bản ghi cấp độ khối đến ổ đĩa khởi động, vì vậy bạn không thể tránh nó theo cách đó.
        Danh sách đầy đủ của các thư mục biij hạn chế (và những ngoại lệ như /usr/local và một số thứ khác) ở /System/Library/Sandbox/rootless.conf. Tất nhiên, tập tin này chính nó cũng là vùng hạn chế.
        Khi bạn nâng cấp lên el Capitan, nó dịch chuyển bất cứ tập tin “không được phép” nào từ khu vực hạn chế sang /Library/SystemMigration/History/Migration-(some UUID)/QuarantineRoot/.

     

      • Bạn không thể đính kèm vào các tiến trình hệ thống (ví dụ như những cái đang chạy từ những vị trí hệ thống kia) cho những thứ như là gỡ lỗi (hoặc thay đổi những gì các thư viện động tải về, hoặc một số thứ khác nữa). Nói lại lần nữa, không phải vấn đề gì to tát, các nàh phát triển vẫn có thể gỡ lỗi trên các chương trình riêng của họ.
        Cái này sẽ chặm một số thứ đáng kể như việc nhập mã vào các ứng dụng đã được cài sẵn của Apple (đáng chú ý là Finder). Nó cũng có nghĩa là các công cụ được dựa trên dtrace cho việc kiểm soát hệ thống (ví dụ như opensnoop) sẽ không thể theo dõi và báo cáo về nhiều quá trình của hệ thống.

     

      • Bạn không thể tải những phần mềm được phép tương tác trực tiếp với kernel (kexts) trừ khi chúng đã được xác nhận chắc chắn (ví dụ như xác nhận bởi Apple hoặc một nhà phát triển đã được Apple phê duyệt). Lưu ý rằng điều này thay thế các hệ thống cũ để áp đặt kext xác nhận (và những cách cũ của việc bỏ qua nó). Nhưng kể từ phiên bản v10.10.4 Apple đã có cách để kích hoạt hỗ trợ sắp đặt cho ổ SSD của bên thứ ba, lý do số một để sử dụng các kext chưa được xác nhận đã không còn.

     

     

    Nếu bạn không muốn những hạn chế này – dù là bởi vì bạn muốn chỉnh sửa hệ thống trên mức tính năng này cho phép, hay bởi vì bạn đang phát triển và gỡ lỗi thứ gì đó như các kext mà không thể làm được do những hạn chế này, bạn có thể tắt SIP. Hiện tại việc này yêu cầu phải khởi động lại vào chế độ khôi phục và chạy lệnh csrutil disable (và bạn có thể kích hoạt nó lại bằng cách tương tự với csrutil enable).

     

    Nhưng nhớ căn nhắc thật kỹ trước khi vô hiệu hóa SIP, thậm chí chỉ là tạm thời: Bạn có thực sự cần vô hiệu hóa nó hay không, hay đấy chỉ là cách tốt hơn (tuân theo SIP) để làm cái bạn muốn? Bạn có thực sự cần phải chỉnh sửa một thứ gì đó trong /System/Library hay /bin hay thứ gì đó tương tự không, hay nó có thể đến một vị trí tốt hơn như là  /Library hoặc /usr/local/bin? SIP có thể “cảm nhận được” việc sự kìm hãm nếu bạn không quen với việc dùng nó thường xuyên, và sẽ có một số lý do chính đáng để vô hiệu hóa nó, nhưng dù gì đi nữa với nhiều việc SIP thực thi thì đấy thực sự là cách tốt nhất.

    Đáp án này được chấp nhận bởi hieunguyen. vào September 7, 2016 Được 15 điểm.

    • 1680 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào August 20, 2016

    Cách của tớ là chạy các lệnh này trong terminal:

    sudo /usr/libexec/PlistBuddy -c "Add :ProgramArguments: string --no-namechange" /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    
    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

    sudo scutil --set ComputerName <host-name-U-want>
    sudo scutil --set HostName <host-name-U-want>
    sudo scutil --set LocalHostName <host-name-U-want>
    hostname -f
    • 2363 xem
    • 3 đáp án
    • 0 điểm
  • Đã hỏi vào August 20, 2016
    1. Sao chép mpkg từ bên trong hình ảnh đĩa đã được tải về trên Desktop
    2. Click chuột phải vào tập tin mpkg và chọn Show Package Contents, sau đó mở thư mục Contents
    3. Mở  distribution.dist với một trình chỉnh sửa văn bản
    4. Xóa các dòng 13 đến 18
    5. Lưu lại tập tin và mở mpkg như thường.

    Đáp án này được chấp nhận bởi tiramisu. vào August 20, 2016 Được 15 điểm.

    • 1815 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào August 20, 2016

    Làm thế này này: 

    1. Cắm iPad, iPhone
    2. Mở Image Capture
    3. Chọn thiết bị của bạn (“devMikePad”)
    4. Nhấn  vào biểu tượng hình tam giác trong hình vuông ở góc phía dưới bên trái màn hình
    5. Chọn “No application” trong menu.

    Đây là ảnh mô tả chỗ bạn cần tìm trong Snow Leopard hoặc Yosemite.

    enter image description here

    Chúc bạn thành công!

    Đáp án này được chấp nhận bởi rail. vào August 20, 2016 Được 15 điểm.

    • 1418 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào August 18, 2016

    Mình tìm ra cách cho bạn ở bình luận này trên reddit:

    1. Tắt wifi
    2. Kết nối lại Magic Mouse
    3. Bật lại wifi

    Cơ mà mình thấy thỉnh thoảng cách này không hiệu quả và thay vào đó bạn phải kết nối lại chuột sau khi bật lại wifi:

    1. Tắt wifi
    2. Bật lại wifi
    3. Kết nối lại Magic Mouse

    Đáp án này được chấp nhận bởi cheng. vào August 18, 2016 Được 15 điểm.

    • 2860 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào August 18, 2016

    Cái này không phải iPhoto bị hỏng như bà con nghĩ đâu nhé.

     

    Nhìn kỹ bức ảnh này thì rõ ràng mình đã phát hiện ra một số gương mặt:

     

    Sự tăng đáng kể độ tương phản và độ bão hòa của một số lênh và giảm độ sáng của các kênh còn lại ta sẽ tìm ra mấy con quái vật đang ẩn trong bức ảnh này: 😀

     

    goblins

     

    Trong khi 2 con quái vật trong lò chắc chỉ quan tâm đến thức ăn thì 2 con khác tạo ra ấn tượng rằng chúng là mối nguy hiểm tiềm tàng cho bình yên nhân loại. :))

     

    Sắm một cái lò mới đi bởi vì cái hiện tại của bạn có vẻ như đã bị các sinh vật ngoài hành tinh chiếm làm căn cứ rồi. Và đừng có lúc nào cũng hoài nghi rằng iPhoto hiển thị các bức ảnh không rõ ràng. :)))))

    • 1380 xem
    • 2 đáp án
    • 0 điểm
  • Đã hỏi vào August 18, 2016

    Theo một số lưu ý được cập nhật gần đây của Apple từ ứng dụng Bartender ((v1.2.32)thì:

     

     

    Apple appear to have fixed the flickering item issue for multiple monitors in Yosemite with 10.10.3 Beta 2; but in doing so Bartender stopped working correctly. We have made changes to Bartender for 10.10.3 Beta 2 and anticipate it to now be working smoothly; if you see any issues with Bartender please do let us know.

     

     

     

     

    Apple có vẻ như đã sửa lỗi các biểu tượng lập lòe với chế độ đa màn hình của Yosemite với bản 10.10.3 Beta 2, nhưng làm như vậy cũng khiến Bartender ngừng hoạt động. Chúng tôi đã thực hiện những thay đổi với Bartender cho phiên bản 10.10.3 Beta 2 và dự tính là nó vẫn hoạt động mượt mà cho đến bây giờ, nếu bạn thấy bất kỳ vấn đề nào với Bartender, làm ơn thông báo cho chúng tôi.”

     

    Vậy, có lẽ vấn đề hình ảnh này sẽ được khắc phục.

     

    Mình rất tiếc phải nói rằng, theo như các thư điện tử mình trao đổi với các cố vấn của Apple, phản hồi chính thức của  Apple Engineering thì hiện tượng này là do thiết kế:

     

     

     

    Cái này là hiện tượng bình thường vì độ trong suốt (transparency) đã được tắt và bật để phân biệt xem màn hình nào đang hoạt động.

     

    Có vài cách khắc phục bạn có thể thử:

     

    – Điều chỉnh thiết lập tại System Preferences —> Accessibility và giảm độ trong suốt.

     

    – Tắt displays have separate spaces.

     

    – Bật  Use Dark Menu Bar and Dock trong System Preferences —> General.
    Một cách khắc phục khác với Bartender:

     

    Theo kinh nghiệm của mình, mình cũng chạy Bartender để giới hạn số lượng các biểu tượng tại thanh công cụ đang trong trạng thái hoạt động. Bởi vì sẽ có ít hơn các biểu tượng bị lập lòe, việc cản trở lỗi hình ảnh này bị giảm khi chuyển giữa các màn hình. Chúng sẽ vẫn bị nhấp nháy như vậy, và vẫn gây khó chịu, nhưng việc tăng phản hồi giao diện người dùng khiến mình không chú ý đến nó nữa.

     

    Các bước xử lí vấn đề là vô dụng

     

    Mình thực hiện các bước sau theo lời cố vấn kỹ thuật và kỹ sư của Apple trong suốt quá trình hỗ trợ cho cùng vấn đề này. Không cái nào trong số chúng khắc phục được vấn đề cả:

     

      • Tạo một tài khoản người dùng mới (và vì vậy hồ sơ người dùng được để trống)

     

      • Vào chế độ an toàn (bao gồm cả tài khoản người dùng mới)

     

      • Cài đặt lại OS

     

      • Thiết lập lại SMC và NVRAM

     

      • Chạy Apple Hardware Test

     

      • Chạy công cụ chuẩn đoán khóa điện tử VGA.

     

     

    Miêu tả chi tiết vấn đề

     

    Video chi tiết về lỗi được post tại đây: https://flic.kr/s/aHsk5xxSb1

     

      • Khi một trong số 2 màn hình được gắn,
        qua HDMI, MiniDP>DP, hay MiniDP>VGA

     

      • Không cần để ý nắp máy được mở hay đóng

     

      • và bật  Displays have separate Spaces

     

      • Có thể nhấp vào màn hình trên bất cứ màn hình nào không hoạt động (màn hình với thanh công cụ màu xám hoặc thanh công cụ không bật được),

     

      • và các biểu tượng của thanh công cụ sẽ bắt đầu nhấp nháy,
          • điều hiển nhiên khi các biểu tượng rung rinh (thể hiện theo kiểu dịch chuyển theo chiều thẳng đứng và chiều ngang)

         

          • việc sắp xếp lại các biểu tượng (trong trường hợp đã tự sắp xếp lại chúng bằng cách giữ phím cmd và kéo thả chúng),

         

          • và việc khử răng cưa ngắn gọn được theo sau bởi việc tái khử răng cưa (hoặc chuyển động rung) của các biểu tượng

         

         

     

      • việc này xảy ra với tất cả các biểu tượng bên phía tay phải của thanh công cụ,
          • nhưng không xảy ra với các cái bên tay trái (quả táo và các mục của menu),

         

          • và cũng loại trừ biểu tượng thanh bên.

         

         

     

      • Các triệu chứng xảy ra khi chuyển tiếp từ một màn hình sang màn hình khác.

     

      • Việc chuyển động của các biểu tượng gây nên sự chậm trễ về chức năng giữa việc bắt đầu quá trình chuyển đổi và việc sử dụng các ứng dụng trong màn hình tớ (trong trường hợp của mình là 3-5s)
              • Thời gian chậm trễ dường như liên quan đến số biểu tượng trên thanh trạng thái

             

             

         

         

     

     

    Nguyên nhân sâu xa?

     

    Mình cho rằng đây là một vấn đề phần mềm liên quan đến SystemUIServer hoặc một trong các thư viện giao diện người dùng cơ bản (riêng tư). Có vẻ như nó liên quan mật thiết đến công nghệ khử răng cưa. Mặc dù Apple khẳng định rằng hiện tượng này là hiện tượng bình thường, mình nghĩ nhiều người dùng sẽ đồng ý rằng đây là lỗi xuất hiện trong Yosemite

    Đáp án này được chấp nhận bởi vyvy. vào August 18, 2016 Được 15 điểm.

    • 1523 xem
    • 2 đáp án
    • 0 điểm