วิธีรันสคริปต์เพียงแค่ดับเบิลคลิกเช่นไฟล์. EXE ใน Windows


116

ฉันจะสร้างสคริปต์ทุบตีได้ด้วยการดับเบิลคลิกเช่นเดียวกับ.exeไฟล์ใน Windows ฉันพยายามสร้างตัวเรียกใช้งานและกำหนดสคริปต์ให้กับมันแต่มีสองผล:

  1. เทอร์มินัลกระพริบตาหายไปและไม่มีอะไรทำ
  2. คุณต้องระบุให้ทำงานในเทอร์มินัลเพื่อที่จะทำงาน

ฉันมีสคริปต์ที่ติดตั้ง Tomcat บนพีซีออฟไลน์รวมถึงการขึ้นต่อกันทั้งหมดของ Tomcat ในสคริปต์ ฉันต้องทำให้สคริปต์ทำงานบนการดับเบิลคลิกเช่น windows เนื่องจากผู้ที่ใช้สคริปต์ส่วนใหญ่จะไม่คุ้นเคยกับ Ubuntu

ลืมคำอธิบายข้างต้น ฉันต้องการสร้างสคริปต์ที่สามารถเรียกใช้งานได้โดยดับเบิลคลิกที่สคริปต์โดยไม่ต้องใช้ Terminal มีใครรู้บ้างไหม


ฉันคิดว่าคุณอาจกำลังเขียนไฟล์เดสก์ท็อปของคุณไม่ดี คุณสามารถโพสต์ ( คำต่อคำ ) ตัวเปิด. desktop ที่คุณเขียนหรือไม่
Jjed

คุณเคยเห็นสิ่งนี้ด้วยหรือไม่ askubuntu.com/q/34597/24694
Jjed

เป็นเพียงตัวเรียกใช้งานที่คุณกำหนดชื่อและคำสั่งให้ทำไม่ใช่ความคิดที่ยิ่งใหญ่

3
muru นำฉันออกไปที่นี่ทำงานให้ฉัน: askubuntu.com/questions/286621/…
draoi

1
FYI สำหรับผู้เยี่ยมชมในอนาคต: Nautilus ซึ่งเป็นโปรแกรมจัดการไฟล์เริ่มต้นบน Ubuntu ดูเหมือนว่าจะลบความสามารถในการเรียกใช้ไฟล์ปฏิบัติการในรุ่นที่ใหม่กว่าในปี 2019 เนื่องจากช่องโหว่ บทความเกี่ยวกับหัวข้อและรหัสการกระทำบน GitLab กับการสนทนา
Sergiy Kolodyazhnyy

คำตอบ:


134

ฉันทดสอบและใช้งานได้ดี ตรวจสอบให้แน่ใจสคริปต์ของคุณเริ่มต้นด้วยการที่ถูกต้องshebang#!/usr/bin/env bashเช่น

จากนั้นทำตามขั้นตอนเหล่านี้:

  • กดAlt+ F2เพื่อเรียกใช้คำสั่ง
  • ประเภทและตีdconf-editorEnter
  • ใน dconfg-editor ไปที่: org ➤ gnome ➤ nautilus ➤ preferences
  • คลิกที่executable-text-activationและจากเมนูแบบเลื่อนลงเลือก:

    เรียกใช้ : เพื่อเรียกใช้สคริปต์เป็นโปรแกรม
    หรือ
    ถาม : เพื่อถามว่าจะทำอย่างไรผ่านทางกล่องโต้ตอบ

    ภาพหน้าจอ

  • ปิดตัวแก้ไข dconf แค่นั้นแหละ!

ทางเลือกอื่นโดยใช้เทอร์มินัล: รัน:

gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'

หมายเหตุ : ไฟล์ควรสามารถเรียกใช้งานได้ คุณอาจต้องเปลี่ยนการอนุญาตของไฟล์ คลิกขวาและตั้ง "อนุญาตให้เรียกใช้ไฟล์เป็นโปรแกรม"

ภาพหน้าจอ

แหล่ง


มันใช้งานได้ดีมาก เพียงบันทึกย่อ "ถึงเมนูแบบเลื่อนลง" โดยคลิกที่ค่าที่ปรากฏทางด้านขวาของexecutable-text-activation(ค่าเริ่มต้นคือdisplay)
ryanjdillon

5
สำหรับผู้ที่ไม่สามารถเรียกแอพนี้ได้คุณจะต้องติดตั้งแอปก่อนด้วยsudo apt-get install dconf-editor
whale_steward

1
ใช้ได้ทุกที่ยกเว้นบนเดสก์ท็อป ฉันจะทำให้มันทำงานบนเดสก์ท็อปได้อย่างไร ฉันใช้ Xubuntu 14.10
shrx

มีวิธีการทำเช่นนี้ใน LXDE (สำหรับ Lubuntu) หรือไม่?
childofsoong

วิธีนี้ใช้งานได้ดีภายใต้ slax unix เพื่อดูslax.orgสำหรับระบบ Unix ที่ยอดเยี่ยมจริงๆที่คุณสามารถบูตได้จาก thumb drive
raddevus

74

บน Nautilus (ไฟล์ AKA)

  1. ไปที่ไฟล์ ( แก้ไขใน Unity (17.04 หรือด้านล่าง))> การตั้งค่า> แท็บพฤติกรรม

    ภาพหน้าจอ

  2. เปลี่ยนการตั้งค่าสำหรับไฟล์ข้อความที่ปฏิบัติการได้

    ภาพหน้าจอ


3
ตอนนี้ 'ไฟล์ -> ค่ากำหนด' (17.04)
2560

หวาน! วิธีที่จะไป imho
codepleb

วิธีดูผลลัพธ์
Amr Lotfy

10

ใน Ubuntu และระบบปฏิบัติการที่ใช้ Unix ทั้งหมด, afaik, ไม่มีสิ่งใดถูกตั้งค่าเป็นปฏิบัติการโดยค่าเริ่มต้น มีสองวิธีในการทำเช่นนี้

  1. คลิกขวาที่สคริปต์หรือไฟล์ที่คุณต้องการเรียกใช้ ไปที่คุณสมบัติจากนั้นไปที่แท็บการอนุญาต คลิกกล่องกาเครื่องหมายที่ระบุว่าดำเนินการ

  2. เปิด Terminal cdลงในไดเรกทอรีที่พบไฟล์ ประเภท. นี่จะเป็นการตั้งค่าไฟล์ให้ทำงานchmod ugo+x filename

ตอนนี้ผู้ใช้ของคุณสามารถดับเบิลคลิกที่เนื้อหาหัวใจ


2
มันจะยังถามคุณว่าจะทำอย่างไรกับรันใน terminal หรือจอแสดงผลหรือเรียกใช้ ... ดังนั้นจึงไม่ใช่สิ่งที่ฉันต้องการ

เฉพาะคำตอบนี้ใช้ได้กับ Gnome Ubuntu 17.04 สำหรับการทำให้ไฟล์บนเดสก์ท็อปสามารถใช้งานได้
Kunok

นี่ใช้สำหรับเรียกใช้ไฟล์บนเทอร์มินัลไม่ใช่โดยการดับเบิลคลิก
DimiDak

8

ฉันคิดว่าการสร้างไฟล์* .desktopหายไปที่นี่:

$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"
Categories=Application;

หากคุณสร้างไฟล์* .desktopมากกว่าหนึ่งไฟล์สำหรับหนึ่งสคริปต์คุณสามารถสร้างการกำหนดค่าได้หลายรูปแบบโดยส่งพารามิเตอร์ที่แตกต่างกันซึ่งเป็นวิธีที่สะดวกสบายและใช้งานง่าย


1
นี่เป็นคำตอบที่ดีที่สุดสำหรับ Ubuntu โปรดทราบว่าคุณอาจไม่ได้ (หรืออาจจะไม่ได้?) ต้องระบุTerminal=TrueและExec=gnome-terminalเว้นแต่ว่าคุณกำลังสร้างทางลัดสำหรับสคริปต์ที่คุณต้องการดูผลลัพธ์ของภายในหน้าต่างเทอร์มินัล ... นอกจากนี้โปรดทราบว่าคุณสามารถชี้Iconไปที่สิ่งที่กำหนดเอง png คุณอาจต้องการ ...
BuvinJ

6

หากคุณใช้ XFce คุณสามารถสร้างสคริปต์ที่ดำเนินการใน Thunar ได้โดยดำเนินการคำสั่งนี้:

xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default \
             --create --type bool --set true

หรือโดยใช้ gui xfce4-settings-editorและสร้างคุณสมบัติเดียวกัน

รันxfce4-settings-editorจากนั้นป้อน:

  • /misc-exec-shell-scripts-by-default

  • บูลีน

  • TRUE

รูปภาพของ xfce4-settings-editor


ที่นี่เกี่ยวกับวิธีการบรรลุวัตถุประสงค์ด้วยการกระทำที่กำหนดเองใน Thunar (โดยไม่เปิดใช้งานคุณลักษณะ "ความเสี่ยง" ใหม่)
cipricus

นอกจากนี้ที่นี่เกี่ยวกับวิธีใช้ Zenity และรับคำถาม "แก้ไขหรือเรียกใช้"
cipricus

2

คุณต้องตรวจสอบ 3 คะแนน:

  • การกำหนดค่า Nautilus / Nemo: https://askubuntu.com/a/286651/301025
  • ไฟล์สคริปต์จะต้องสามารถใช้งานได้ : https://askubuntu.com/a/275714/301025
  • ระบบไฟล์จะต้องอนุญาตการดำเนินการ :

    1. พิมพ์mountในคอนโซล
    2. ตรวจสอบว่าระบบไฟล์ของคุณมีการnoexecตั้งค่าสถานะ
    3. ลบการnoexecตั้งค่าสถานะโดยการแก้ไข/etc/fstabและติดตั้งระบบที่แก้ไขแล้ว (เช่นการรีบูต)

1

เมื่อคุณสร้างการเปิดตัวในเดสก์ท็อปเป็นสคริปต์ SHEL หรืออะไรก็ตามในบรรทัดคำสั่งอย่าลืมส่งสัญญาณสคริปต์เพื่อเรียกใช้งานในพื้นหลัง

สคริปต์จะตายเมื่อเขาทำงานเสร็จ


1
ฉันทำอย่างนั้น แต่

1

ตามumaskค่าเริ่มต้นคุณจะไม่ได้รับอนุญาตสำหรับไฟล์ตามค่าเริ่มต้นและจะต้องเปลี่ยน mod เพื่อรับสิทธิ์ในการใช้งานบางอย่างเช่นนี้:

chmod u+x filename

1
Broth Ali แน่ใจว่าฉันทำมันชัดเจนว่าทำ

0

ในฐานะที่เป็นส่วนเติมเต็มให้กับคำตอบเกี่ยวกับ Thunar : คำตอบนั้นจะเปิดใช้งานคุณลักษณะก่อนหน้าของ Thunar อีกครั้งเพื่อเรียกใช้งานสคริปต์เมื่อดับเบิลคลิก แต่ฟีเจอร์นั้นถือว่าเป็นความเสี่ยงด้านความปลอดภัย

เพื่อหลีกเลี่ยงปัญหานั้นอาจเป็นวิธีที่ดีที่สุดในการรับหน้าต่างป๊อปอัปพร้อมคำถามเช่น "คุณต้องการไฟล์อะไร: เรียกใช้หรือแก้ไข?" (คล้ายกับสิ่งที่คุณมีในผู้จัดการไฟล์อื่น ๆ เช่น PCManFM และ Nemo) เมื่อคลิกที่ไฟล์ - โดยใช้ Zenity: ที่นี่


อีกทางเลือกหนึ่งคือการกระทำที่กำหนดเองซึ่งอาจเป็นคุณลักษณะที่ดีที่สุดของ Thunar

คำสั่งที่ฉันใช้สำหรับเรียกใช้ไฟล์ข้อความที่ปฏิบัติการได้คือsh -c %fสำหรับการดำเนินการที่กำหนดเองที่เรียกว่า "Run / Execute script"

ป้อนคำอธิบายรูปภาพที่นี่

เงื่อนไขลักษณะที่ปรากฏเป็นเพียง "ข้อความ":

ป้อนคำอธิบายรูปภาพที่นี่

คำสั่งที่คล้ายกันสามารถใช้สำหรับการเรียกใช้งานในเทอร์มินัลสคริปต์ดังกล่าว ("รันในเทอร์มินัล") ในขณะที่เปิดเทอร์มินัล Xfce4 ไว้:

xfce4-terminal -H -x %f

ป้อนคำอธิบายรูปภาพที่นี่

เป็นทางเลือกและอาจดีกว่าเพื่อซ่อนตัวเลือกดังกล่าวสำหรับไฟล์ข้อความทั้งหมดยกเว้นไฟล์ที่ปฏิบัติการได้วิธีหนึ่งคือการ จำกัด การใช้งานลักษณะที่ปรากฏกับ.shไฟล์ (หรือ.pyไฟล์ถ้ากรณี ฯลฯ ) ภายใต้ "เงื่อนไขลักษณะ":

ป้อนคำอธิบายรูปภาพที่นี่

- ก่อนที่จะทำการเปลี่ยนชื่อไฟล์ที่ปฏิบัติการได้


-1

พิเศษสำหรับ Android Studio คุณสามารถปฏิบัติตามคำตอบเดิมของฉันที่นี่ :

วิธีสร้าง Launcher Launcher:

  • คลิกที่Create Desktop Entry..จากเมนูเครื่องมือ

ป้อนคำอธิบายรูปภาพที่นี่

  • มันจะพร้อมท์ให้ใส่รหัสผ่านป้อนรหัสผ่านของการเข้าสู่ระบบปัจจุบัน

  • ในที่สุดมันก็จะแสดงการแจ้งเตือนในหน้าจอ Android Studio เช่น:

ป้อนคำอธิบายรูปภาพที่นี่

  • คุณสามารถเห็นได้ในApplications => Programming => Android Studioและคุณอาจเห็นบนเดสก์ท็อปหลังจากรีสตาร์ทระบบ

ขอขอบคุณ. :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.