Điểm:0

Bluetooth: Các tệp không được nhận hoặc chúng trống

lá cờ ke

Tôi đang cố truyền hình ảnh từ điện thoại của mình (kiểu máy Huawei cũ hơn) sang PC chạy Ubuntu 20.04 LTS qua Bluetooth.

Vẫn mở hộp thoại cài đặt Bluetooth (như được mô tả trên một số trang web), điện thoại báo cáo rằng PC đã từ chối nhận tệp.

Đang thử "blueman" như đề xuất trong một câu trả lời khác (hoặc trong một câu trả lời cho câu hỏi này), tôi có một hành vi kỳ lạ:

  • Nếu điện thoại được đánh dấu là "đáng tin cậy device", tôi nhận được thông báo lỗi tương tự từ điện thoại.
  • Khi điện thoại được đánh dấu là "bỏthiết bị đáng tin cậy", điện thoại báo cáo rằng tệp đã được gửi thành công và Ubuntu báo cáo rằng tệp đã được nhận.
    Tuy nhiên, tệp không được lưu trữ trên đĩa và tôi không tái tạo hành vi đó.

sử dụng bt-obex, điện thoại của tôi báo "tệp được chuyển thành công" nhưng các tệp không được lưu trữ trong Tải xuống thư mục nhưng một trống rỗng tập tin được tạo trong ~/.cache/obexd:

$ mkdir định mệnh

$ bt-obex -y -s destdir
[Máy chủ OBEX] Đã mở phiên OBEX
[Máy chủ OBEX] Đã bắt đầu chuyển
[Yêu cầu chuyển nhượng]
  Tên: IMG_20211009_102029.jpg
  Kích thước: 2667331 byte
[Máy chủ OBEX] Đã đóng chuyển OBEX
[Máy chủ OBEX] Đã đóng phiên OBEX
^C

$ tìm thấy . | grep IMG_20211009_102029
./.cache/obexd/IMG_20211009_102029.jpg

$ wc .cache/obexd/*.jpg
0 0 0 .cache/obexd/IMG_20211009_102029.jpg

Sẽ không có vấn đề gì nếu tệp được lưu trữ trong .cache/obexd, nhưng như bạn có thể thấy, tệp trong thư mục đó trống!

Tại sao việc nhận tệp không thành công?

CHỈNH SỬA

Tôi phát hiện ra rằng việc nhận tệp bằng cách sử dụng obexpushd hoạt động tốt ...

David avatar
lá cờ cn
Bạn có thể muốn làm rõ tiêu đề. Các tệp không trống theo câu hỏi. Thư mục bạn muốn tìm thấy chúng không có tệp nào.
Martin Rosenau avatar
lá cờ ke
@David Tôi đã thay đổi tiêu đề
Điểm:0
lá cờ ke

Tôi tự tìm thấy câu trả lời:

Của tôi TRANG CHỦ thư mục là một liên kết tượng trưng đến một thư mục:

/nhà/tên tôi là một liên kết tượng trưng đến / other_directory.

Theo mặc định, obexd (được sử dụng bởi cả trình nhận tệp tích hợp và bt-obex) kiểm tra xem cả đích tệp tạm thời (trong ~/.cache/obexd) và cái "cuối cùng" (trong ~/Tải xuống) thực sự nằm trong một thư mục con của TRANG CHỦ danh mục.

obexd sử dụng tên thư mục "thực" nếu có liên kết tượng trưng, ​​vì vậy nó phát hiện ra rằng tên tệp đầy đủ /other_directory/.cache/obexd/... không bắt đầu với /nhà/tên tôi/ và từ chối tiếp tục hoạt động.

Một giải pháp là làm một pkill obexd và bắt đầu lại obexd chuyển tên thư mục chính thực bằng cách sử dụng -r tranh luận.

Tôi cho rằng việc kiểm tra này được thực hiện để tránh việc ai đó ghi đè lên một tệp như /usr/bin/ls bằng cách gửi một tập tin có tên ../../../../../../usr/bin/ls.

Thật thú vị, kiểm tra này được thực hiện sau đó obexd đã mở tập tin với O_CREAT|O_TRUNC cờ, vì vậy trong trường hợp này, /usr/bin/ls sẽ bị ghi đè bởi một tập tin trống!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.