lezgomatt / ezntfs Goto Github PK
View Code? Open in Web Editor NEWAn easy-to-use wrapper for NTFS-3G on macOS
License: zlib License
An easy-to-use wrapper for NTFS-3G on macOS
License: zlib License
sudo ezntfs-app install
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/bin/ezntfs-app", line 8, in <module>
sys.exit(main())
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/ezntfs/app.py", line 339, in main
return install()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/ezntfs/app.py", line 405, in install
with open(launchd_config_path, "w") as launchd_config_file:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/mbp115/Library/LaunchAgents/com.lezgomatt.ezntfs.plist'
where python
python: aliased to python3
/opt/local/bin/python
/usr/local/bin/python
I have 2 error when pip3 install ezntfs
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyobjc-core
Running setup.py clean for pyobjc-core
Building wheel for pyobjc-framework-Cocoa (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [524 lines of output]
/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyobjc-framework-Cocoa
Running setup.py clean for pyobjc-framework-Cocoa
Failed to build pyobjc-core pyobjc-framework-Cocoa
ERROR: Could not build wheels for pyobjc-core, pyobjc-framework-Cocoa, which is required to install pyproject.toml-based projects
and
when sudo ezntfs-app install
sudo: ezntfs-app: command not found
what I've done is change the python installer to the latest version and downgrade and the results are the same, what should I do bro?
I use Mac OS Sonoma 14.1.1
Thank for your help sir
ezntfs-app
2023-09-18 21:13:49.998 Python[46102:694240] -[_NSViewBackingLayer NS_setView:]: unrecognized selector sent to instance 0x6000021a9830
2023-09-18 21:13:49.998 Python[46102:694240] -[_NSViewBackingLayer NS_setView:]: unrecognized selector sent to instance 0x6000021a9830
2023-09-18 21:13:50.250 Python[46102:694240] -[_NSViewBackingLayer NS_setView:]: unrecognized selector sent to instance 0x600002131a70
zsh: illegal hardware instruction ezntfs-app
Hey @tonho911, this error is due to an incompatibility between Python 3.12 and (the older version of) `pyobjc`. Unfortunately, the newer versions of `pyobjc` has a different bug (https://github.com/ronaldoussoren/pyobjc/issues/575), so we're stuck with the older version right now.
If you can downgrade to Python 3.11, then I believe it should work.
Originally posted by @lezgomatt in #11 (comment)
如题
Hello,
I believe that this is already a known issue, but I cannot install ezntfs-app on OS X Catalina.
sudo ezntfs-app install
results in the following error:
>>> /private/etc/sudoers.d/com-lezgomatt-ezntfs: syntax error near line 1 <<<
sudo: parse error in /private/etc/sudoers.d/com-lezgomatt-ezntfs near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Are there any safe workarounds to this issue? (@theperspectiv 's fix involved a risk of breaking the OS)
Is the app expected to be patched for prior versions of macOS in the future, or is it strictly for OS 11+?
sudo ezntfs-app install sudo: ezntfs-app: command not found
How to solve this problem?
Apologies if this is out of place, irrelevant, or otherwise dumb. I'm new to Github. Just wanted to share my experience getting ntfs-3g working reliably in Catalina 10.15.7 with the help of ezNTFS after several unsuccessful attempts with other methods.
NOTE: I have an atypical boot config/environment on modified hardware, so it's unlikely anyone will ever need this.
IMPORTANT NOTE: Some of this involves modifying system files, so if you do need this, tread carefully.
I installed ntfs-3g (v2021.8.22) and ezNTFS (v1.0.0) via brew as specified in the very helpful ezNTFS readme, as well as macfuse (v4.2.0) via the latest installer, but ran into the following error after attempting to install the ezNTFS GUI with
sudo ezntfs-app install
Traceback (most recent call last):
File "/usr/local/bin/ezntfs-app", line 5, in <module>
from ezntfs.app import main
File "/usr/local/lib/python3.9/site-packages/ezntfs/app.py", line 18, in <module>
DEFAULT_ICON = NSImage.imageWithSystemSymbolName_accessibilityDescription_("externaldrive.fill", "ezNTFS")
AttributeError: No attribute imageWithSystemSymbolName_accessibilityDescription_
I made sure macfuse, ntfs-3g, and python were correctly installed, then started digging and found some Apple AppKit documentation indicating that "ImageWithSystemSymbolName_accessibilityDescription_" is specific to macOS 11 and newer.
I only have basic experience with Python, and even less with macOS, but I'm a huge fan of accidentally and irreparably breaking core OS functionality by editing things I shouldn't...so I went ahead and started tweaking things in /usr/local/lib/python3.9/site-packages/ezntfs/app.py, and eventually got it working by substituting the incompatible method on lines 18-20 with an older method supported by Catalina ("imageNamed_").
I also substituted the SF symbols with Catalina-compatible images which I found in this handy little list.
Final result:
DEFAULT_ICON = NSImage.imageNamed_("NSNavEjectButton.normal")
BUSY_ICON = NSImage.imageNamed_("NSNavEjectButton.rollover")
ERROR_ICON = NSImage.imageNamed_("NSStopProgressFreestandingTemplate")
The app installed successfully, loaded, and appeared in the menu bar...though there weren't any options available in the list, just a "Missing privileges to mount via ntfs-3g" error.
SUPER DUPER IMPORTANT NOTE THAT COULD SAVE YOUR LIFE: If you're reading this because you're in a similar situation as me, consider this your final warning. I don't know how, but somewhere in the next couple steps, I accidentally broke sudo. If you're not comfortable with that risk or don't know what that means, uninstall macfuse & ntfs-3g and buy Tuxera. Seriously. Just trust me.
However, if you're ok with potentially screwing up your OS beyond repair, carry on:
I downloaded and compiled the newest version of ntfs-3g from source which (I think) made it impossible to sudo in terminal because of how it changed these two files:
sudo ezntfs-app install
>>> /private/etc/sudoers.d/com-lezgomatt-ezntfs: syntax error near line 1 <<<
sudo: parse error in /private/etc/sudoers.d/com-lezgomatt-ezntfs near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
No idea how that happened...but I was able to temporarily change the permissions in Finder and noticed "%staff" on the first line of File 2.
I changed "staff" to "admin" and regained my ability to sudo. Don't ask me why that worked.
You may be able to avoid this headache entirely if you know why I would've gotten this message after configuring ntfs-3g:
****************************************************************************
* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *
* The FUSE user space binaries were NOT installed with root directory *
* executable prefix. This means that automounting NTFS volumes during boot *
* could fail. This can be fixed the below way by reinstalling FUSE using *
* the right 'configure' option during FUSE compilation: *
* ./configure --exec-prefix=/ *
* make && sudo make install *
* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *
****************************************************************************
I probably should have looked into that more, but it seemed like it was more informational that cautionary. And everything seems to be working fine right now. (Though if you see a huge problem with how I solved the sudo issue, please let me know.)
Anyway, after sorting out that little "snafu" (ie, accidentally almost borking root permissions), I was able to run the ezNTFS GUI and it is working great -- plus now I also know how to set custom icons in the menu bar!
Thanks for your work, @lezgomatt
Best of luck.
At my macOS 10.14, when I run the "diskutil list"
I can see the two types of NTFS partition...
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk2 128.0 GB disk0s2
3: Microsoft Basic Data Win&Mac 171.6 GB disk0s3 >> exFAT
4: Microsoft Basic Data Windows 199.9 GB disk0s4 >> under GPT table, NTFS and exFAT partition shows "Microsoft Basic Data"
/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *320.1 GB disk1
1: Windows_NTFS Windows 10_old 142.4 GB disk1s1
2: Windows_NTFS Windows 7 42.9 GB disk1s3
3: Windows_NTFS App&Data2 134.7 GB disk1s5 >> Under MBR partition table, NTFS partition shows "Windows_NTFS"(Can detect)
/dev/disk2 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +128.0 GB disk2
Physical Store disk0s2
1: APFS Volume MacOS 38.3 GB disk2s1
2: APFS Volume Preboot 48.2 MB disk2s2
3: APFS Volume Recovery 507.4 MB disk2s3
4: APFS Volume VM 5.4 GB disk2s4
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *1.0 TB disk3
1: Windows_NTFS BOB_DATA 1.0 TB disk3s1
Maybe this situation, so when I use ezntfs all, can't remount some partition under GPT tables.
(Sorry for my bad English... Chinese is my main language, so I still work hard to learn English...)
更改ezntfs挂载的U盘图标
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.