Điểm:0

Làm cách nào để tạo .desktop cho chương trình C?

lá cờ kr

Vì vậy, tôi đang cố gắng thực thi chương trình đầu cuối C chỉ bằng cách nhấp đúp vào chương trình đó. Tôi đang cố làm điều đó thông qua tệp .desktop

  • Tệp máy tính để bàn có quyền thực thi dưới dạng tệp và nó nằm trong máy tính để bàn của tôi.
  • Chương trình được đặt tên là teste, đợi Người dùng nhập và nó nằm trong /home/vithor/
  • Tôi đang sử dụng PopO (nó là "bản phân phối Ubuntu");
  • Tôi đã cho phép khởi chạy tệp thực thi trong cấu hình nautilus;
[Mục nhập máy tính để bàn]
Phiên bản=1.0
Tên=Tên chương trình
Bình luận=Đây là bình luận của tôi
Exec=/home/vithor/teste
Biểu tượng=/home/vithor/Pictures/Icons/books.png
Thiết bị đầu cuối = đúng
Loại=Ứng dụng
Danh mục=Tiện ích;
~                    

Nhưng nó không hoạt động, tôi đang làm gì sai? Hoặc tôi có giải pháp thay thế nào để chạy chương trình C chỉ bằng cách nhấp vào nó?

lá cờ us
Gỡ bỏ ; sau tiện ích. Ngoài ra, hệ điều hành Pop không được hỗ trợ ở đây.
lá cờ us
*Nhưng nó không hoạt động* -- Hành vi hiện tại là gì? Tệp máy tính để bàn có hiển thị biểu tượng không?
Điểm:1
lá cờ us

Tôi giả sử tên của chương trình là tinh hoàn, và nó nằm ở thư mục nhà của bạn.

  1. Gỡ bỏ #!/usr/bin/env bash từ dòng đầu tiên. Dòng đầu tiên phải là [Mục nhập máy tính để bàn]

  2. Thay đổi điều hành lối vào

    Exec=/home/vithor/teste
    
  3. Thay đổi dòng cuối cùng thành Danh mục=Tiện ích

  4. Đánh dấu tệp .desktop là tệp thực thi bằng lệnh chmod +x /path/to/file.desktop.

Bây giờ nó sẽ hoạt động khi bạn nhấp đúp vào nó.

Tuy nhiên, nếu chương trình C được cho là in trong thiết bị đầu cuối và không làm gì khác, thì nó sẽ in kết quả và sẽ nhanh chóng đóng thiết bị đầu cuối, và bạn sẽ không thể nhìn thấy bất cứ điều gì. Trong trường hợp này, hãy thay đổi nguồn để nó đợi bạn nhập một số ký tự trước khi đóng.

Mã ví dụ:

#include <stdio.h>

khoảng trống chính () {
// mã của bạn ở đây

int a;
printf("nhập ký tự bất kỳ để kết thúc: ");
scanf("%d",&a);
}

Bây giờ biên dịch mã với

đường dẫn gcc/đến/nguồn.c -o teste
WinEunuuchs2Unix avatar
lá cờ in
Một ví dụ hay về chương trình C. Tuy nhiên, không nên có lệnh `gcc` hoặc `make` hoặc `lint` ở đâu đó sao?
lá cờ us
@ WinEunuuchs2Unix Tất nhiên, người ta cần gcc để biên dịch cái này. Tôi cho rằng OP biết cách biên dịch, vì câu hỏi là về cách thực thi `teste` nhị phân bằng tệp .desktop.
WinEunuuchs2Unix avatar
lá cờ in
Không còn nghi ngờ gì nữa, OP và bạn biết `gcc`. Một số người trong chúng ta không phải là tất cả :)
lá cờ us
@ wineeunuuchs2unix Ồ được rồi, tôi sẽ cập nhật câu trả lời.
Vithor avatar
lá cờ kr
Cảm ơn sự giúp đỡ của bạn! Nhưng tôi đã thử và nó không hoạt động :(. Tôi sẽ chỉnh sửa câu hỏi và thêm thông tin!
Điểm:0
lá cờ nl

Sử dụng tệp .desktop này:

[Mục nhập máy tính để bàn]
Phiên bản=1.0
Tên=Tên chương trình
Bình luận=Đây là bình luận của tôi
Exec=x-terminal-emulator -e /bin/bash -c '/home/vithor/teste ; tiếng vang ""; echo "Nhấn Enter để đóng....." ; đọc'
Biểu tượng=/home/vithor/Pictures/Icons/books.png
Thiết bị đầu cuối = đúng
Loại=Ứng dụng
Danh mục=Tiện ích;

Nó mở ra một thiết bị đầu cuối, chạy chương trình của bạn và sau khi chương trình của bạn hoàn thành, nó sẽ đợi cho đến khi bạn nhấn Enter để đóng nó.

BTW Tôi đã thử nghiệm điều này và nó thực sự hoạt động.

Nếu điều này phù hợp với bạn, vui lòng nhấp vào biểu tượng Đánh dấu ở bên trái câu trả lời này để chấp nhận câu trả lời này.

Đă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.