Tải bản đầy đủ (.pdf) (9 trang)

Những phức tạp với lỗi thoát dialog không mong đợi trong OS X 10.6.3 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (202.02 KB, 9 trang )

Những phức tạp với lỗi thoát dialog không mong
đợi trong OS X 10.6.3
Bổ sung thêm vào các bản vá lỗi và nâng cấp bảo mật
trong bản Mac OS X 10.6.3 vừa được phát hành gần
đây, Apple trích dẫn một tính năng mới gây ra lỗi
thoát các dialog một cách không mong đợi: “Mac OS
X 10.6.3 có thể tự động thu thập các thông tin sử
dụng, triệu chứng từ máy tính Mac và gửi nó đến
Apple để phân tích”.
Các phiên bản trước của Mac OS X đều có thể thu
thập các thông tin triệu chứng sau một đổ vỡ xảy ra.
Tuy nhiên điểm mới trong Mac OS X 10.6.3 chính là
sự thu thập “thông tin sử dụng” nặc danh (cho ví dụ,
dữ liệu về cách bạn sử dụng Apple và các phần mềm,
phần cứng và dịch vụ của các hãng thứ ba). Tuy
nhiên trong việc bổ sung này, Apple cũng đã chủ
động ngừng một phần trong cách làm việc của các
dialog có liên quan.
Tôi không giám chắc đó là gì với Apple và những
dialog bị thoát không mong đợi. Dường như khá đơn
giản trong việc làm cho các dialog này làm việc như
mong đợi. Tuy nhiên sự việc bên ngoài lại không
diễn ra như vậy. Apple đã tạo thêm lộn xộn và tạo lỗi
cho tính năng đã có lịch sử lâu đời.
Sự lộn xộn dialog thoát không mong đợi
Sau một hành động thoát không mong đợi, một
dialog sẽ xuất hiện với ba tùy chọn: Ignore, Reopen
và Report (xem hình bên dưới).

Kích Report, một dialog khác sẽ xuất hiện với ba tùy
chọn khác: Show Details, Don’t Send, và Send to


Apple (như hình bên dưới).

Kích Send to Apple, một sheet sẽ sổ xuống và ở đó
bạn có thể chọn Agree hoặc Disagree để gửi các triệu
chứng cũng như các thông tin sử dụng đến có liên
quan Apple (hình bên dưới).

Bất cứ lựa chọn nào được chọn, bạn cũng có thể kích
hoạt hoặc vô hiệu hóa hộp kiểm “Don’t ask me
again”. Nó được kích hoạt mặc định. Đây chính là
tiêu điểm cho mối quan tâm của chúng ta. Nếu để
kích hoạt, thời điểm tiếp theo khi một lỗi thoát không
mong đợi xảy ra và bạn kích Send to Apple, hộp
thoại Agree/Disagree sẽ không xuất hiện (chính xác
như được ngụ ý bởi “Don’t ask me again”).
Tuy nhiên giả định bạn thay đổi quan điểm; chẳng
hạn như muốn chuyển từ Agree sang Disagree. Bạn
có thể thực hiện điều này như thế nào nếu không có
sheet sổ xuống để cho phép bạn thực hiện thay đổi?

Câu trả lời là khởi chạy Console và chọn Preferences.
Trong cửa sổ mở ra (hiển thị phía bên phải), sẽ có
một hộp kiểm “Automatically send anonymous and
diagnostic usage data to Apple”. Nếu vô hiệu hóa tùy
chọn này, Agree/Disagree sheet sẽ xuất hiện lại ở
thời điểm tiếp theo khi bạn gặp phải một lỗi thoát
không mong đợi.
Chí ít đó là cách nó được giả định và đã làm việc.
Tuy nhiên đối với trường hợp của tôi, tùy chọn đã bị
chuyển xám màu và không thể thay đổi. Điều đó có

nghĩa không có cách nào tôi có thể gặp lại
Agree/Disagree sheet – và như vậy không có cách
nào có thể thay đổi lựa chọn trước đây của mình.
Lưu ý: Trong Mac OS X 10.6.2, Preferences thay vì
cung cấp một nút Reset cho Diagnostic Reporting.
Nút này cũng cung cấp chức năng cơ bản như mục
“Automatically send…” trong 10.6.3.
Làm việc với file plist
Một giải pháp là vô hiệu hóa hộp kiểm “Don’t ask me
again” mỗi lần. Tuy vậy, sau một chút tìm tòi thử
nghiệm, tôi đã phát hiện ra cách có thể dẫn tới thành
công thậm chí nếu đã chọn “Don’t ask me again”.
Đó là file .plist dùng để phát hiện xem hộp chọn
Console liệu đã được kích hoạt và xem
Agree/Disagree sheet liệu có sổ xuống hay không. Nó
được gọi là com.apple.SubmitDiagInfo.###,plist (ở
đây ### biểu thị chuỗi hex duy nhất đối với máy tính
của bạn). Bạn sẽ tìm thấy file .plist trong thư mục
Library/Preferences/ByHost của thư mục Home. Nếu
xóa file này, Agree/Disagree sheet sẽ xuất hiện lại
vào lần tiếp theo khi một lỗi thoát không mong đợi
xuất hiện.
Tuy cách thức này cho phép bạn thay đổi lựa chọn đã
thực hiện trước đó, nhưng nó không phải là một bản
vá vĩnh viễn. Hộp kiểm trong Preferences sẽ vẫn bị
xám màu khi bạn thay đổi quan điểm của mình lần
nữa. Tuy nhiên sau khi tìm hiểu thêm, tôi đã tìm ra
chính xác những gì đã làm cho nó diễn ra như vậy.
Nếu mở file .plist trong Property List Editor, bạn sẽ
thấy hai thuộc tính Boolean giống nhau: AutoSubmit

và AutoSubmitV2. (sau đó là một thuộc tính mới
trong 10.6.3.)

AutoSubmit xuất hiện để phát hiện xem hộp kiểm
Console có thể bị thay đổi khi thích hợp hay không.
AutoSubmitV2 xuất hiện để xác định xem
Agree/Disagree sheet có sổ xuống hay không. Về mặt
lý tưởng, các giá trị cho hai thuộc tính này sẽ tương
xứng. Tuy nhiên điều này không hẳn lúc nào cũng
vậy. Những gì có thể xảy ra, cho ví dụ, là
AutoSubmitV2 được kích hoạt nhưng AutoSubmit thì
không. Điều này sẽ dẫn đến tình huống được miêu tả
ở trên, nơi sheet không sổ xuống nhưng tùy chọn
Console đưa nó trở lại lại không thể lựa chọn.
Dòng cuối cùng là, không có cách nào tôi có thể kích
hoạt cả “Don’t ask me again” và ngăn chặn triệu
chứng trả về. Lúc này, nếu phát hiện thấy những điều
tương tự, bạn chỉ có thể sử dụng file .plist hoặc hy
vọng một bản vá trong Mac OS X 10.6.4.
Giao diện người dùng của các dialog
Ngay cả khi bỏ qua lỗi này, giao diện người dùng của
dialog thoát không mong đợi có thể sử dụng một số
điều chỉnh.
Cho ví dụ, bạn có thể chọn Ignore từ dialog đầu tiên.
Nếu như vậy, không có dữ liệu nào gửi đến Apple.
Nếu chọn Report, bạn có thể kích Don’t Send từ
dialog thứ hai khi nó xuất hiện. Điều này cũng có
nghĩa rằng không có dữ liệu nào được gửi đến Apple.
Nếu khăng khăng và chọn Send to Apple, bạn sẽ
nhận được tùy chọn Disagree (đây là lần thứ ba, có

nghĩa rằng dữ liệu của bạn sẽ không được gửi đến
Apple, thậm chí bạn đã chọn gửi dữ liệu).
Tất cả dường như có một chút lộn xộn và rườm rà.
Liệu nó có thể được đơn giản hóa – có lẽ bằng cách
cung cấp ngay ban đầu ba tùy chọn được liệt kê trong
bài báo hỗ trợ của Apple có liên quan: Automatic
Reporting, No Reporting và Ask Each Time?

×