macOS'taki gibi Python Launcher yok mu, mesela? O açsın direkt.
MacOS'ta uygulama sistemi farklı, Windows'ta farklı, Linux'ta farklı. Taşınabilir yürütülebilir için desktop dosyasına gerek yok. Ama ikon olsun sabitleyebileyim istiyorsanız bunu çoğu dağıtımda yapmak dışında bir çareniz yok.

Attım ama uygulamalarda gözükmedi.
Desktop dosyasını doğru hazırladığınızdan emin misiniz? Dosyayı yanlış doldurduysanız da görünmeyebilir.
 
"~" ev klasörün demek root'a atmana gerek yok. "/home/kullanıcıadın/.local/share/applications/"
Ayrıca, 'Program olarak çalıştır' denilince açması gerekmiyor mu? Bende onda da açmıyor.
Olur da benim uygulamada mı bir sorun var diye, uygulamanın kodları:
[CODE title="Kod"]

#!/bin/env python3
import tkinter as tk
from tkinter import ttk

class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")

# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)

self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)

self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)

self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)

self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)

# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)

self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)

self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)

self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)

self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)

def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())

def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")

if name == "main":
root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()


[/CODE]
 
Ayrıca, 'Program olarak çalıştır' denilince açması gerekmiyor mu? Bende onda da açmıyor.
Olur da benim uygulamada mı bir sorun var diye, uygulamanın kodları:
[CODE title="Kod"]

#!/bin/env python3
import tkinter as tk
from tkinter import ttk

class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")

# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)

self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)

self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)

self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)

self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)

# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)

self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)

self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)

self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)

self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)

def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())

def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")

if name == "main":
root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()


[/CODE]
63. satırda if'de tırnak işareti yok. Hata verdiği için çalışmıyor.

Birkaç hata daha vardı. Kodunuzun düzeltilmiş hali.
[CODE lang="python" title="a.py"]#!/bin/env python3
import tkinter as tk
from tkinter import ttk

class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")

# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)

self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)

self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)

self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)

self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)

# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)

self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)

self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)

self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)

self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)

def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())

def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")


root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()
[/CODE]

Çalışan hali:
1722531247002.webp


Pardon forumun eklentisi ile alakalı bir hata olmuş sanırım.
 
if kısmını doğrudan silip kodu alt satıra indirebilirsin. Bende öyle çalıştı. Gerek yokmuş sanırım, kod biçimlendirme hatalarını düzeltince de çalıştı.
 
Komut satırından açınca da aynı hata oluyor mu? Şu anda bende düzgün çalışıyor.
[CODE title="Hata"]ofis@ofis-System-Product-Name:~/.local/share/applications$ python hx.py
'python' Komutu bulunamadı, şunu mu demek istiyorsunuz:
komut 'python3' deb python3 paketinden
komut 'python' deb python-is-python3 paketinden[/CODE]
"python hx.py" yazdım; acaba ben mi yanlış yaptım?